HDU5670Machine(抽象进制)
有一个机器,它有 m (2\leq m\leq 30)m(2≤m≤30) 个彩灯和一个按钮。每按下按钮时,最右边的彩灯会发生一次变换。变换为: 1. 如果当前状态为红色,它将变成绿色; 2.如果当前状态为绿色,它将变成蓝色; 3.如果当前状态为蓝色,它将变成红色,并且它左边的彩灯(如果存在)也会发生一次变换。 初始状态下所有的灯都是红色的。 询问按下按钮 n (1\leq n< {2}^{63})n(1≤n<263) 次以后各个彩灯的颜色。
输入包含多组数据. 第一行有一个整数T (1\leq T\leq 15)T(1≤T≤15), 表示测试数据的组数. 对于每组数据: 唯一的一行包含2个整数 m (2\leq m\leq 30)m(2≤m≤30) 和 n (1\leq n< {2}^{63})n(1≤n<263) 。
对于每组数据,输出一个长度为mm的字符串,表示从左到右mm个彩灯的颜色。 R代表红色;G代表绿色;B代表蓝色。
2 3 1 2 3
RRG GR
红、绿、蓝分别表示0、1、2,每次操作就相当于+1,原问题就转化为求n的三进制
表示的最低的m位,即求 n mod 3^m3的三进制表示。
复杂度 O(m)O(m)
1 #include <iostream> 2 #include <cstdio> 3 #include <cstring> 4 using namespace std; 5 typedef long long LL; 6 int main() 7 { 8 int m ,t; 9 LL n; 10 scanf("%d", &t); 11 int color[50]; 12 while (t--) 13 { 14 memset(color, 0, sizeof(color)); 15 scanf("%d%I64d", &m, &n); 16 int cnt = m; 17 while (n > 0 && m > 0) 18 { 19 color[m--] = n % 3; 20 n = n / 3; 21 } 22 for (int i = 1; i <= cnt; i++) 23 { 24 if (color[i] == 0) 25 printf("R"); 26 else if(color[i] == 1) 27 printf("G"); 28 else if (color[i] == 2) 29 printf("B"); 30 } 31 printf("\n"); 32 } 33 return 0; 34 }
View Code
转载于:https://www.cnblogs.com/zhaopAC/p/5428058.html
HDU5670Machine(抽象进制)相关推荐
- 进制转换(完成Python14作业的背景补充)
来源于小甲鱼进制转换视频 数的认识 数,是一个无形的.抽象的概念,它是人类用来表示数量的一个智力的产物 "一百"是一个抽象概念,用到计数书本有几页就会变成具体的.有形的概念 我们要 ...
- 【★】假如人类使用16进制
十进制一直是我心中过不去的一道坎.. 人类社会使用十进制已经几十万年的历史了,追根到底它源于远古智人的手指计数:当十只手指记不下时就会找其他记号标记一个"十",接着从1开始再次用手 ...
- 16进制的两位数转换不了 matlab_【大学生计算机基础】进制那些问题。小数或整数转换,各种进制间转换.........
方便自己期末复习备考而准备(作为一名纯文科生,我对计算机课真的很抓狂.只好认认真真自个探究,整理些笔记.如果你也需要可以借鉴借鉴) ①进制? 嗯~这我觉得就不用多做解释了,大家都是上个计算机课的人,老 ...
- java 8进制串转中文_为什么不能用中文进行编程?而英文就可以
前些天大雄无意间听见 几个线下班小伙伴说 真的是无(te)意(di)的 "我要补英文" "对,英文真的很重要" "如果编码用中文就好了" . ...
- java 16进制_JAVA十六进制数据接收与传输
由于项目中经常遇到与设备进行交互获取数据,不仅有Python版本.还有Java版本,还可能会有C#版本,在此做个记录. 一.十六进制转换工具类 主要包含十六进制字符串转ASCII,ASCII转十六进制 ...
- JAVA基础——关键字与保留字——标识符——进制转换
本节学习目录 前言 一.JAVA的关键字和保留字 1.什么是Java关键字? 2.什么是Java保留字? 二.JAVA标识符及命名规则 1.标识符 2.命名规则 三.进制的转换 1.何为进制? (1) ...
- 三进制 四进制计算机原理,基因编码为何选择了“四进制”,而不是计算机系统的“二进制”?...
计算机已经成功的证明,"二进制"是一种简洁又高效的编码方案(且与物理硬件相得益彰),它可以传递和映射任意复杂度的信息. 但基因编码,绝大部分却使用了4种碱基(DNA是ATCG,RN ...
- C++控制不同进制输出(二进制,八进制,十进制,十六进制)各种进制之间的转换
目录 1.输出(头文件讲解) 2.格式控制 常用的I/O流控制符 4.各种进制之间的转换(进制大乱斗) 4.1.写在前面 4.2整体框架搭建 4.3菜单函数 4.4用户输入选择(main函数体中) 4 ...
- 关键字的使用限制 数字之间的进制转换 java如何注释
2.1 关键字 关键字是指被高级编程语言赋予特殊含义的一些单词,关键字一般都是由小写字母组成.好比是汉 语当中的一些专有名词:北京,天安门,兵马俑.不能乱用. 用于定义数据类型的关键字:byte sh ...
最新文章
- 2022-2028年中国盲盒产业研究及前瞻分析报告
- 【经验】提高github的下载(克隆)速度
- R语言dplyr包使用recode函数进行数据列内容编码、转换实战:类似于pandas中的map函数(例如,将内容从字符串映射到数值)
- matlab-高数 find 找到集合中特定元素的位置
- python爬虫源码附注解_Python小白写的三个入门级的爬虫(附代码和注释)
- pstack命令学习
- 【C语言进阶深度学习记录】三十三 C语言中动态内存分配
- 我最讨厌哪种数据分析师?这四点全中就可以辞职走人了
- 跟我一起考PMP---项目成本管理
- 带左右箭头的图片轮播
- Apple自动化利器AppleScript
- 策略路由 本地策略+接口策略
- 新人如何利用今日头条自媒体平台赚钱?月收入轻松过万
- 使用 maven-semantic-release 实现自动化发版
- 腾讯优测-优社区干货精选 | android开发在路上:少去踩坑,多走捷径(上)
- php求价格最低,php-将Woo-commerce变体销售价格调至低于实际价格
- Windows2000高级技巧
- 三角兽首席科学家分享实录:基于对抗学习的生成式对话模型
- 数据结构中的问题与typedef
- c语言体重指数怎么算_107股票信息网,股票涨3个点怎么算,股市行情今日大盘上证指数走势图...
热门文章
- php mysql数据库 指南_用 PHP 创建 MySQL 数据库
- unc0ver 发布新版本支持 iOS 13.3 越狱
- NSString 使用方法总结
- android判断和创建快捷方式(4.03测试通过)
- Keil4编译原子哥的SYSTEM出现错误 Inline assembler not permitted when generating Thumb code
- “真三”中的人生哲理
- 共享智能指针编程实验
- 安装scipy报错,疑似缺少wheel包,解决方案
- Centos7中yum安装jdk及配置环境变量
- phpmyadmin 无法载入 mysql 扩展_phpMyAdmin“无法载入mysql扩展,请检查PHP配置”解决方法...