XTU OJ 1209 Alice and Bob 2014(嘉杰信息杯ACM/ICPC湖南程序设计邀请赛暨第六届湘潭市程序设计竞赛)
2016-03-03 20:27
459 查看
Problem Description
The famous "Alice and Bob" are playing a game again. So now comes the new problem which need a person smart as you to decide the winner. The problem is as follows: They are playing on a rectangle paper, Alice and Bob take turn alternatively, for each turn,a people cut the rectangle vertically or horizontally, the result two rectangle after cut must be IDENTICAL, also the side must be integer, after the cut, one rectangle will be descarded. The first people fail to cut lose the game. Of course, Alice makes first
as usual.
Input
First Line contains an integer t indicate there are t cases(1≤t≤1000) For each case: The input consists of two integers w and h(1≤w,h≤1,000,000,000), the size of rectangle.
Output
First output Case number For each case output Alice or Bob, indicate the winner.
Sample Input
2 1 2 2 2
Sample Output
Case 1: Alice Case 2: Bob
上次比赛的题,比赛完了就没去看它了。近期几天发现oj上有题目了,就把这几道题又一次做了一下。这道题,上次比赛的时候看到这道题还以为是博弈的题,以为要用DP去做,所以题目都没怎么去看,就直接跳过了,后来看到a的人比較多,就细致看了一下题目。读懂题意之后,发现事实上非常easy的一道题。做的慢了。
比赛时对于题目难易的分析还是不够;
记录一下自己的思路,首先分析给的w,h是奇数还是偶数,假设两个都是奇数,说明就不能再分了,分到1也不能分了(1也是奇数),当有一个是偶数都还能够继续分,我用的递归,假设能分就一直分下去,直到不能分为止;
以下是ac的代码;
#include <iostream> #include <cstdio> using namespace std; int j; void compete(int w,int h)//递归 { if(w%2==0) //这里还能够写成 (! w&1) { w/=2; j++; compete(w,h); } else if(h%2==0) { h/=2; j++; compete(w,h); } } int main() { int t,i; int w,h; scanf("%d",&t); for(i=1;i<=t;i++) { j=0; scanf("%d%d",&w,&h); compete(w,h); printf("Case %d: ",i); if(j%2==0) printf("Bob\n"); else printf("Alice\n"); } return 0; }
相关文章推荐
- 关于最大流模板的补充说明
- 160303、js加密跟后台加密对应
- 5.leetcode题目13: Roman to Integer
- Javascript、js 查找匹配网页html中图片url
- 【C++】用类实现单向单链表的尾插PushBack(),尾删PopBack(),打印PrintSlist()。
- Android使用Volley上传文件
- sudo 命令详解
- 加密和解密
- matlab如何循环读入某一文件夹下的所有图片 对某文件夹下的图片进行重新排序
- 树和二叉树知识点总结
- springMVC笔记关于多视图解析
- 算法汇总
- HDOJ 1151 Air Raid(二分图最小路径覆盖)
- 解决启动mongod 时,出现addr already in use错误
- map映射
- hdu 4848 搜索+剪枝 2014西安邀请赛
- 235. Lowest Common Ancestor of a Binary Search Tree
- R 语言去除重复的数据
- javascript中valueOf()和toString()区别
- android界面开发