题目链接:Problem - 1849 (hdu.edu.cn)

大学时光是浪漫的,女生是浪漫的,圣诞更是浪漫的,但是Rabbit和Grass这两个大学女生在今年的圣诞节却表现得一点都不浪漫:不去逛商场,不去逛公园,不去和AC男约会,两个人竟然猫在寝食下棋……
说是下棋,其实只是一个简单的小游戏而已,游戏的规则是这样的:
1、棋盘包含1*n个方格,方格从左到右分别编号为0,1,2,…,n-1;
2、m个棋子放在棋盘的方格上,方格可以为空,也可以放多于一个的棋子;
3、双方轮流走棋;
4、每一步可以选择任意一个棋子向左移动到任意的位置(可以多个棋子位于同一个方格),当然,任何棋子不能超出棋盘边界;
5、如果所有的棋子都位于最左边(即编号为0的位置),则游戏结束,并且规定最后走棋的一方为胜者。

对于本题,你不需要考虑n的大小(我们可以假设在初始状态,棋子总是位于棋盘的适当位置)。下面的示意图即为一个1*15的棋盘,共有6个棋子,其中,编号8的位置有两个棋子。

大家知道,虽然偶尔不够浪漫,但是Rabbit和Grass都是冰雪聪明的女生,如果每次都是Rabbit先走棋,请输出最后的结果。

Input

输入数据包含多组测试用例,每个测试用例占二行,首先一行包含一个整数m(0<=m<=1000),表示本测试用例的棋子数目,紧跟着的一行包含m个整数Ki(i=1…m; 0<=Ki<=1000),分别表示m个棋子初始的位置,m=0则结束输入。

Output

如果Rabbit能赢的话,请输出“Rabbit Win!”,否则请输出“Grass Win!”,每个实例的输出占一行。

Sample Input

2

3 5

3

3 5 6

0

Sample Output

Rabbit Win!

Grass Win!

思路:这个就是单纯的nim游戏,也相当与n堆石子任意取,只需要算出num-sum,如果为0,后者赢,其他前者赢

#include<bits/stdc++.h>
using namespace std;int main(){ios::sync_with_stdio(false);int m;while(cin >> m){if(m == 0){break;}int s = 0;int t;for(int i = 0; i < m; i++){cin >> t;s ^= t;}if(s == 0){cout << "Grass Win!" << "\n";}else{cout << "Rabbit Win!" << "\n";}}return 0;
}

HDU 1849 Rabbit and Grass相关推荐

  1. HDOJ HDU 1849 Rabbit and Grass ACM 1849 IN HDU

    MiYu原创, 转帖请注明 : 转载自 ______________白白の屋 题目地址:          http://acm.hdu.edu.cn/showproblem.php?pid=1849 ...

  2. hdu 1849 Rabbit and Grass Nim博弈

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1849 题意:游戏的规则是这样的: 棋盘包含1*n个方格,方格从左到右分别编号为0,1,2,-,n-1: ...

  3. Rabbit and Grass【博弈】

    Rabbit and Grass Time Limit: 1000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) ...

  4. HDU1849 Rabbit and Grass【Nim博弈】

    Rabbit and Grass Time Limit: 1000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) To ...

  5. Rabbit and Grass --- 组合博弈 GS函数 记录

    Problem Description 大学时光是浪漫的,女生是浪漫的,圣诞更是浪漫的,但是Rabbit和Grass这两个大学女生在今年的圣诞节却表现得一点都不浪漫:不去逛商场,不去逛公园,不去和AC ...

  6. hdu 6828-Little Rabbit‘s Equation

    hdu 6828-Little Rabbit's Equation 又忘开 long long了,! #include<bits/stdc++.h> using namespace std ...

  7. hdu 1849 nim博弈

    http://acm.hdu.edu.cn/showproblem.php?pid=1849 Nim博弈 算法分析: Nim游戏模型:有三堆石子,分别含有a.b.c个石子.两人轮流从某一堆中取任意多的 ...

  8. HDU - 5030 Rabbit's String(后缀数组+二分)

    题目链接:点击查看 题目大意:给出一个字符串,现在要求将其分为不大于k个连续的子串,对于每个子串求出字典序最大的子串,现在要求所有子串的最大子串的最大值最小,输出这个最大子串 题目分析:最大值最小,标 ...

  9. HDU 4777 Rabbit Kingdom 树状数组

    分析:找到每一个点的左边离他最近的不互质数,记录下标(L数组),右边一样如此(R数组),预处理 这个过程需要分解质因数O(n*sqrt(n)) 然后离线,按照区间右端点排序 然后扫一遍,对于当前拍好顺 ...

最新文章

  1. python打印列表元素_python打印列表中指定元素的所有下标
  2. 阿里达摩院刷新纪录,开放域问答成绩比肩人类水平,超微软、Facebook
  3. 1、存在如下数列1、1、2、4、7、13、24、44、81、149......现要求该数列第n项的值(n从O开始算)。 程序运行结果: 1/2 输入:4 输出:7 输入:9 输出:149
  4. 网络配置 rpm yum
  5. MyEclipse使用总结——MyEclipse文件查找技巧 ctrl+shift+R ctrl+H
  6. 高德网络定位算法的演进
  7. python运行不了指令_python不是内部命令或外部命令,也不是可执行程序解决方法...
  8. 2018java计算机二级考试试题和答案,2018年计算机等级考试二级JAVA习题答案(1)
  9. 马上就5g时代了,5g时代有什么风口吗?
  10. 本计算机的英文意思,电脑的英文什么意思最新见解
  11. JVM 类加载机制详解
  12. hibernate理解
  13. HTML5 Web SQL实现简单的增删改查websql使用方法vue2.0使用websql实现浏览器存储
  14. 【登录界面】vue、element-ui登录界面模板
  15. 简单神经网络手算笔记
  16. 【备忘】尚学堂白贺翔java互联网架构师视频教程下载
  17. IDEA启动tomcat控制台出现中文乱码问题完美解决方案(亲测有效)
  18. 如何用WinRAR给压缩包设置和取消密码
  19. 浙江大学计算机考研分数线2018,2018年浙江大学考研复试分数线已公布
  20. 策略学习(Policy-Based Reinforcement Learning)

热门文章

  1. AcceptEx函数的示例代码
  2. Linux下异步IO(libaio)的使用以及性能
  3. css背景视差_具有JavaScript和CSS转换的廉价视差
  4. libGDX的启动类和配置
  5. 日志分析篇---Linux日志分析
  6. Pytest如何查找用例耗时最长的N个
  7. Win7/Win8安装我们无法创建新的分区,也找不到现有的分区的解决方法
  8. 迈向更小的.NET 4-有关客户端配置文件和下载.NET的详细信息
  9. getWindow().getDecorView().setSystemUiVisibility(...)设置状态栏属性
  10. 【网络安全培训】无线局域网的安全威胁都有哪些?