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校庆抽奖 翻转的更多相关文章

  1. 九度OJ 1361 翻转单词顺序

    题目地址:http://ac.jobdu.com/problem.php?pid=1361 题目描述: JOBDU最近来了一个新员工Fish,每天早晨总是会拿着一本英文杂志,写些句子在本子上.同事Ca ...

  2. 九度OJ 1171:C翻转 (矩阵计算)

    时间限制:1 秒 内存限制:32 兆 特殊判题:否 提交:4649 解决:1530 题目描述: 首先输入一个5 * 5的数组,然后输入一行,这一行有四个数,前两个代表操作类型,后两个数x y代表需操作 ...

  3. 【剑指Offer面试编程题】题目1361:翻转单词顺序--九度OJ

    题目描述: JOBDU最近来了一个新员工Fish,每天早晨总是会拿着一本英文杂志,写些句子在本子上.同事Cat对Fish写的内容颇感兴趣,有一天他向Fish借来翻看,但却读不懂它的意思.例如,&quo ...

  4. 九度oj 题目1361:翻转单词顺序

    题目描述: JOBDU最近来了一个新员工Fish,每天早晨总是会拿着一本英文杂志,写些句子在本子上.同事Cat对Fish写的内容颇感兴趣,有一天他向Fish借来翻看,但却读不懂它的意思.例如,“stu ...

  5. 剑指Offer - 九度1361 - 翻转单词顺序

    剑指Offer - 九度1361 - 翻转单词顺序2013-11-23 02:45 题目描述: JOBDU最近来了一个新员工Fish,每天早晨总是会拿着一本英文杂志,写些句子在本子上.同事Cat对Fi ...

  6. 【九度OJ】题目1171:C翻转 解题报告

    [九度OJ]题目1171:C翻转 解题报告 标签(空格分隔): 九度OJ http://ac.jobdu.com/problem.php?pid=1171 题目描述: 首先输入一个5 * 5的数组,然 ...

  7. [Jobdu] 题目1361:翻转单词顺序

    题目描述: JOBDU最近来了一个新员工Fish,每天早晨总是会拿着一本英文杂志,写些句子在本子上.同事Cat对Fish写的内容颇感兴趣,有一天他向Fish借来翻看,但却读不懂它的意思.例如,“stu ...

  8. 九度oj 题目1171:C翻转

    题目描述: 首先输入一个5 * 5的数组,然后输入一行,这一行有四个数,前两个代表操作类型,后两个数x y代表需操作数据为以x y为左上角的那几个数据. 操作类型有四种:  1 2 表示:90度,顺时 ...

  9. OJ题:将一个字符串顺序翻转

    题目描述 写出一个程序,接受一个字符串,然后输出该字符串反转后的字符串. 之前写过这样的一个程序,用位运算的方法去操作指针,但是那样的方法未免就有点复杂啦,不如用以下这种,简单明了. 程序如下: #i ...

随机推荐

  1. 出售一套Unity + Lua热更新框架代码

    出售一套Unity + Lua的客户端框架代码,功能有资源管理.网络通信.配置文件解析.热更新.文件读写.Lua加密揭秘.UI框架.打包工具.编辑器工具等,已经在多个实际项目(已上线)中使用.代码优雅 ...

  2. 转:MVC 数据验证

    一.基础特性 一.Required 必填选项,当提交的表单缺少该值就引发验证错误. 二.StringLength 指定允许的长度 指定最大长度: [StringLength()] //最大长度不超过2 ...

  3. laravel5 使用model 表名总是多个s

      正常,如果不要s,请在model 指定表名. class user extend Model{ public $table='user';//这样寻找的就是没s的表 }

  4. oracle not in,not exists,minus 数据量大的时候的性能问题

    http://blog.csdn.net/greenappple/article/details/7073349/ 耗时 minus<not exists<not in

  5. 微信小程序(应用号)资源汇总整理

    微信小应用资源汇总整理 开源项目 WeApp - 微信小程序版的微信 wechat-weapp-redux-todos - 微信小程序集成Redux实现的Todo list wechat-weapp- ...

  6. PHP服务器配置环境变量

    我们写的PHP应用程序,通常会分别在本地.开发.测试.RC.生产环境中运行,不同环境中全局变量各不相同.通常简单的部署做法是,每次部署到一个环境,都需要先修改对应的全局变量,然后再部署代码.如果部署频 ...

  7. yii框架的安装

    在安装YII2.0首先我们需要下载一个composer,何为composer,简单解释为PHP的组件工具, Composer是PHP中用来管理依赖(dependency)关系的工具,你可以在自己的项目 ...

  8. angularJS 按需加载

    之前做应用的时候都会在首页就把全站的js预先加载进来... 怎么实现按需加载? 首先在$routeProvider里面加resolve属性,angular-route提供的resolve功能,也就是路 ...

  9. DataAnnotations里DisplayAttribute和 ValidationAttribute 如何从资源文件读取信息,显示多语言

    这个是我们常见的AccountModel代码 public class ChangePasswordModel { [Required] [DataType(DataType.Password)] [ ...

  10. MyEclipse开发Java Web项目步骤

    1.安装工具 第一步,下载安装JDK,并配置环境: 配置环境变量步骤: (1)新建变量名:JAVA_HOME,变量值为JDK的安装路径: (2)打开PATH,添加变量值:%JAVA_HOME%\bin ...