题目描述

妞妞听说Nowcoder Girl女生编程挑战赛要开始了, 但是她没有足够的勇气报名参加, 牛牛为了帮助妞妞,给她准备一台勇气获得机。初始的时候妞妞的勇气值是0, 勇气获得机有两个按钮:

1、N按钮: 如果当期拥有的勇气值为x, 按下之后勇气值将变为2*x+1,

2、G按钮: 如果当前拥有的勇气值为x, 按下之后勇气值将变为2*x+2,

勇气值过高也会膨胀,所以妞妞需要将自己的勇气值恰好变为n, 请你帮助她设计一个勇气获得机的按键方案使妞妞的勇气值恰好变为n。

输入描述:

输入包括一行, 包括一个正整数n(1 <= n <= 10^9), 表示妞妞最后需要的勇气值。

输出描述:

输出一行字符串, 每个字符表示该次妞妞选择按动的按钮,'N'表示该次按动N按钮,'G'表示该次按动G按钮。

示例1

输入

复制

20

输出

复制

NGNG

思路:一开始想从0开始往n强搜答案,T了.....后来太困了,趴下来眯了一会,醒来灵光一闪...

因为起始为0,操作为2*x+1  和 x*2+2  想要从n变回0,倒着做 一定要能被2整除。那么就是如果是奇数就-1(变偶数),如果是偶数就-2(还是偶数),再除2,一直从n变回0;最后把操作逆序输出。

代码:

#include <bits/stdc++.h>
using namespace std;
typedef long long LL;
LL n;
map<LL,int>mp;
int flag,ans[1000]={0};
int main()
{while(scanf("%lld",&n)!=EOF){int d=0;while(n){if(n%2==0){n-=2;n/=2;ans[d++]=1;}else{n-=1;n/=2;ans[d++]=0;}}for(int i=d-1;i>=0;i--){if(ans[i])printf("G");else printf("N");}printf("\n");printf("\n");}
}

2017Nowcoder Girl B - 勇气获得机相关推荐

  1. 【牛客 - 315B】 勇气获得机(二叉树性质,思维,知识点,tricks)

    题干: 妞妞听说Nowcoder Girl女生编程挑战赛要开始了, 但是她没有足够的勇气报名参加, 牛牛为了帮助妞妞,给她准备一台勇气获得机.初始的时候妞妞的勇气值是0, 勇气获得机有两个按钮: 1. ...

  2. 牛客竞赛语法入门班数组字符串习题【完结】

    题目地址:https://ac.nowcoder.com/acm/contest/19306?from=acdiscuss 目录 随机序列 [NOIP2013]记数问题 约瑟夫环 [NOIP2005] ...

  3. 语法入门*算法入门题单

    作者:王清楚 链接:https://ac.nowcoder.com/discuss/817596?type=101&order=0&pos=1&page=4&chann ...

  4. 【新手上路】语法入门算法入门题单

    作者:王清楚 链接:[新手上路]语法入门&算法入门题单_ACM竞赛_ACM/CSP/ICPC/CCPC/比赛经验/题解/资讯_牛客竞赛OJ_牛客网 来源:牛客网 介绍:本题单分为语法入门和算法 ...

  5. AQ>EQ>IQ>FQ?一篇不错的文章

    最近公司组织学习的系列余世维讲座中说到AQ,EQ,IQ的关系问题.呵呵.以登山为例子介绍着实也挺不错的.不过这里也发现了一片好文,收藏:) 有一年发水灾淹没了一个村庄,有一个基督徒被迫爬上房顶.当洪水 ...

  6. 行货好还是水货好?详解苹果iPhone5版本选购 --国行、港行、水货、合约机

    目前市场上,iPhone5有多种版本,如行货iPhone5,水货iPhone5,合约机,裸机,今天我们将介绍下这几种iPhone5的区别,帮助大家选购.闲话不再说,进入正题.众所周知,虽然大陆地区是苹 ...

  7. “锤死挣扎”的骁龙845+128GB旗舰机暴降1500元 仍冷清!

    话说当下有款手机快要步入乐视手机的后尘了,它就是锤子手机,距离去年8月发布坚果Pro 2S以来到现在已经好久没有新手机了,反倒是中途罗永浩接连卸任锤子科技某些分公司的公司法人位置,再就是一些关于公司倒 ...

  8. 数千个数据库、遍布全国的物理机,京东物流全量上云实录 | 卓越技术团队访谈录...

    以下文章来源于 InfoQ ,作者褚杏娟.Tina 如今的京东可以说是一家"强技术"企业吗? 2017 年 2 月,时任京东 CEO 的刘强东公布了未来 12 年的战略:技术转型. ...

  9. Adb使用教程,看了教程后你也是玩机达人啦

    很多同学刷机的时候总是很恐惧"用adb...."的教程,因为每当提起勇气好好研究一番的时候,总是会出现这样那样的问题. 恐惧源于无知,你对adb一无所知,拿起来就想用,当然是各种错 ...

最新文章

  1. split()的使用
  2. 看到如此详细的Java内部类,我泪目了
  3. go语言任意代码执行漏洞 cve-2018-6574
  4. debian 下修改boot停留时间
  5. JavaWeb -- Struts2 ResultType细化, 国际化
  6. ngingx安装错误 ./configure: error: the HTTP rewrite module requires the PCRE library.
  7. ios 可以为空声明_iOS开发中使用OC和swift的对比(2)
  8. Online Coding开发模式 (通过在线配置实现一个表模型的增删改查功能,无需写任何代码)
  9. mysql事务和锁innodb,MySQL - InnoDB 锁与事务(三)隔离级别与表的关系
  10. 超详细的Java面试题总结之JavaWeb基础知识总结,java开发面试笔试题
  11. 亚马逊+纽约大学开源图神经网络框架DGL:新手友好,与主流框架无缝衔接
  12. linux下别名alias的设置
  13. 三端线性稳压器工作原理与典型应用电路分析——78XX与LM317
  14. 一个大型高并发系统的性能调优会涉及到什么?
  15. Android Studio如何创建VR项目。
  16. 泛泛而谈的渲染学习记录(二)—— 高斯模糊卷积的线性分解理解
  17. 搭建Linux内核代码浏览工具LXR
  18. html按钮扁平化,HTML5和CSS3扁平化风格博客教程的资源分享
  19. 关于conda无法创建新环境的解决方法(路径或channel)
  20. 基于python和selenium爬取JD商城商品信息并且分析用户对于产品的满意程度

热门文章

  1. 2021-09-29 uploads_labs 题18及部分关于网络的知识点
  2. php居中文字代码怎么写,文字居中的css代码是什么
  3. php垂直居中代码_图文详解图片水平垂直居中的五种方法(附代码)
  4. mini2440 linux移植开发实战指南,Linux-2.6.32.2内核在mini2440上的移植---移植SD卡驱动...
  5. 【代码解读】超详细,YOLOV5之build_targets函数解读。
  6. window10连接宽带后创建共享热点(WiFi)问题及解决办法:1 无法启动承载网络;组或资源的状态不是执行请求操作的正确状态+2 手机连不上电脑共享的热点或者连上但不能使用
  7. 多线程和Synchronized在其中的使用
  8. 【已解决】Ubuntu无法访问移动硬盘问题
  9. 图像处理入门系列之图像滤波
  10. 使用Jlink读取单片机内部程序