GDUFE-OJ 1361校庆抽奖 翻转
Problem Description:
在舞台中央有一个开奖盒,开奖盒有一个按钮,和一个显示屏,每轮抽奖是过程是这样的。 主持人请K个幸运观众上台,编号为1~K,围着开奖盒。 首先开奖盒上随机显示一个数字S。然后由幸运观众轮流按下按钮。 每次按按钮,数字就会发生变化,直到为0的时候,盒子就会打开,那名观众就会得到里面的奖品。 数字变化的规则如下: 原数字是一个t位二进制数字(不含前导0),按下按钮后原数字的所有位进行翻转,得到变化之后的数字。 比如原数字S = 233,它是二进制是11101001,那么翻转之后是00010110,即10110。 依次按下按钮,11101001 → 10110 → 1001 → 110 → 1 → 0 。 那么第五个按下按钮的幸运观众将会得到奖品。
Input:
输入的第一行包括一个T(T <= 50),代表有T轮抽奖。 每组数组包括两个整数S和K(S < 2^31, K < 10)。
Output:
对于每组数据,输出"Case #x: y"(不包括引号),其中x代表数据的编号,从1开始,y代表该组数据的结果。
Sample Input:
2 233 5 233 4
Sample Output:
Case #1: 5 Case #2: 1 Hints: 两组样例,11101001 → 10110 → 1001 → 110 → 1 → 0 ,其中一个箭头代表按一次按钮
思路:不找规律,中规中矩翻转,然后去掉前面的0,再翻转……直到剩下全是0.
#include <stdio.h>
int main()
{
,T,S,K,i,c,a,k,g,h;
while(scanf("%d",&T)!=EOF)
while(T--)
{
]={};
s++;
c=;
scanf("%d%d",&S,&K);
a=S;
;a;i++)
{
ch[i]=a%;
a/=;//求二进制数,反向存入
}
;k>=;k--)
{
)break;//去掉后面的0(因为是反向)
}
for(;;c++)
{
;i<=k;i++)
{
)ch[i]=;//取反啊
;
}
;k--)
{
)break;//再去掉后面的0
}
,g=;i<;i++)
{
)
g=;
}
)break;//直到全是0
}
if(c>K)
{
c=c%K;
)c=K;//此处易漏,such:c=10,K=5 puts(c=5) (not 0)
}
)c=;
printf("Case #%d: %d\n",s,c);
}
;
}
Tips:int是32位二进制数啊-。-
GDUFE-OJ 1361校庆抽奖 翻转的更多相关文章
- 九度OJ 1361 翻转单词顺序
题目地址:http://ac.jobdu.com/problem.php?pid=1361 题目描述: JOBDU最近来了一个新员工Fish,每天早晨总是会拿着一本英文杂志,写些句子在本子上.同事Ca ...
- 九度OJ 1171:C翻转 (矩阵计算)
时间限制:1 秒 内存限制:32 兆 特殊判题:否 提交:4649 解决:1530 题目描述: 首先输入一个5 * 5的数组,然后输入一行,这一行有四个数,前两个代表操作类型,后两个数x y代表需操作 ...
- 【剑指Offer面试编程题】题目1361:翻转单词顺序--九度OJ
题目描述: JOBDU最近来了一个新员工Fish,每天早晨总是会拿着一本英文杂志,写些句子在本子上.同事Cat对Fish写的内容颇感兴趣,有一天他向Fish借来翻看,但却读不懂它的意思.例如,&quo ...
- 九度oj 题目1361:翻转单词顺序
题目描述: JOBDU最近来了一个新员工Fish,每天早晨总是会拿着一本英文杂志,写些句子在本子上.同事Cat对Fish写的内容颇感兴趣,有一天他向Fish借来翻看,但却读不懂它的意思.例如,“stu ...
- 剑指Offer - 九度1361 - 翻转单词顺序
剑指Offer - 九度1361 - 翻转单词顺序2013-11-23 02:45 题目描述: JOBDU最近来了一个新员工Fish,每天早晨总是会拿着一本英文杂志,写些句子在本子上.同事Cat对Fi ...
- 【九度OJ】题目1171:C翻转 解题报告
[九度OJ]题目1171:C翻转 解题报告 标签(空格分隔): 九度OJ http://ac.jobdu.com/problem.php?pid=1171 题目描述: 首先输入一个5 * 5的数组,然 ...
- [Jobdu] 题目1361:翻转单词顺序
题目描述: JOBDU最近来了一个新员工Fish,每天早晨总是会拿着一本英文杂志,写些句子在本子上.同事Cat对Fish写的内容颇感兴趣,有一天他向Fish借来翻看,但却读不懂它的意思.例如,“stu ...
- 九度oj 题目1171:C翻转
题目描述: 首先输入一个5 * 5的数组,然后输入一行,这一行有四个数,前两个代表操作类型,后两个数x y代表需操作数据为以x y为左上角的那几个数据. 操作类型有四种: 1 2 表示:90度,顺时 ...
- OJ题:将一个字符串顺序翻转
题目描述 写出一个程序,接受一个字符串,然后输出该字符串反转后的字符串. 之前写过这样的一个程序,用位运算的方法去操作指针,但是那样的方法未免就有点复杂啦,不如用以下这种,简单明了. 程序如下: #i ...
随机推荐
- node-webkit 桌面开发 初入1
node-webkit 是什么就不介绍了 注意官网的一句话 ”node-webkit is based on Chromium and node.js " 所以node-webkit 实际 ...
- java编程思想 一切都是对象
java是一种面向对象程序设计语言,一切都是对象,并且用引用操作对象,如一个电视机就是一个对象,而操作电视机的遥控器就是引用,引用可以单独存在,如遥控器可以单独存在. String s; 这里只是创建 ...
- 【转载】JMeter学习(三十六)发送HTTPS请求
Jmeter一般来说是压力测试的利器,最近想尝试jmeter和BeanShell进行接口测试.由于在云阅读接口测试的过程中需要进行登录操作,而登录请求是HTTPS协议.这就需要对jmeter进行设置. ...
- sqlalchemy mark-deleted 和 python 多继承下的方法解析顺序 MRO
sqlalchemy mark-deleted 和 python 多继承下的方法解析顺序 MRO 今天在弄一个 sqlalchemy 的数据库基类的时候,遇到了跟多继承相关的一个小问题,因此顺便看了一 ...
- Mini ORM——PetaPoco笔记
Mini ORM--PetaPoco笔记 记录一下petapoco官网博客的一些要点.这些博客记录了PetaPoco是如何一步步改进的. 目录: Announcing PetaPoco PetaPoc ...
- 动态调频DVFS_转
转自: Linux Core Power Management User's Guide (v3.14) http://processors.wiki.ti.com/index.php/Linux_C ...
- SQL SELECT INTO使用
SQL SELECT INTO 语句可用于创建表的备份复件. SELECT INTO 语句 SELECT INTO 语句从一个表中选取数据,然后把数据插入另一个表中. SELECT INTO 语句常用 ...
- ios - runtime运行时应用---交换方法
runtime运行时用法之一 --- 交换类的方法,此处简单写了把系统的UIView的setBackgroundColor的方法换成了自定义的pb_setBackgroundColor 首先创建UIV ...
- html特殊字符
平时写代码很少用到HTML的特殊字符,最常用的可能是 了,但有时在移动端为了节省时间,可能会用这些字符实现某种特殊效果,现整理如下: 使用方法: 这些字符属于unicode字符集,所以,你的文档需要声 ...
- linux----------ab--性能测试工具
ab.exe –n 10000 –c 100 localhost/index.php //其中-n代表请求数,-c代表并发数