题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1849

Rabbit and Grass

Problem Description
大学时光是浪漫的,女生是浪漫的,圣诞更是浪漫的,但是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!

题目分析:移动的时候每个棋子可以越过前面的棋子而直接到达0位置,每次棋都往左边走,而且走的步数是不限的,不用去管是否重叠,所以就是简单的nimm博弈。

m个棋子就是m堆石子,把每个棋子的位置看作该堆石子的数量,取走最后一颗石子的人获胜,就是最后一个回到0位置的人获胜

#include<iostream>
using namespace std;
int main()
{int m,pos,i;while(cin>>m){if(m==0)break;int sum=0;for(i=1;i<=m;i++){cin>>pos;sum^=pos;}if(!sum)cout<<"Grass Win!"<<endl;elsecout<<"Rabbit Win!"<<endl;}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

    题目链接:Problem - 1849 (hdu.edu.cn) 大学时光是浪漫的,女生是浪漫的,圣诞更是浪漫的,但是Rabbit和Grass这两个大学女生在今年的圣诞节却表现得一点都不浪漫:不去逛商 ...

  3. hdu 1849 Rabbit and Grass Nim博弈

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

  4. Rabbit and Grass【博弈】

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

  5. HDU1849 Rabbit and Grass【Nim博弈】

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

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

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

  7. hdu 6828-Little Rabbit‘s Equation

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

  8. hdu 1849 nim博弈

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

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

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

  10. HDU 4777 Rabbit Kingdom 树状数组

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

最新文章

  1. 如何将Sql Server中的数据表导入到PowerDesigner中
  2. 大白话5分钟带你走进人工智能-第十节梯度下降之归一化的各种方式和必要性(5)...
  3. Linux下统计局域网流量
  4. C# 调用Word(PrintOut) 直接打印,出现“第一节的页边距设于可打印区域之外,是否继续”...
  5. 基于Apache POI 从xlsx读出数据
  6. 信息学奥赛一本通 1068:与指定数字相同的数的个数 | OpenJudge NOI 1.5 12
  7. mysql8.0.19解压版_MySQL8.0解压版配置步骤及具体流程
  8. 进位和借位问题的研究
  9. vue cli脚手架项目利用webpack给生产环境和发布环境配置不同的接口地址或者不同的变量值。...
  10. python学习之路第四周汇总
  11. 题目1544:数字序列区间最小值
  12. oracle游标作为out参数,oracle 存储过程 带游标作为OUT参数输出
  13. QQ对话框、背景渐变色
  14. trans系列是sci几区_怎么确定SCI是几区的?
  15. ava.lang.IllegalStateException: Failed to introspect Class [xxxxxxxxImpl] from ClassLoader-Autowired
  16. ThreadPoolExecutor中addWorker,continue retry和break retry是什么意思
  17. 支付宝手机网站支付、支付查询、退款、退款查询、转账接口整合
  18. Python爬取百度文库并存储为word文档
  19. 统计自然语言处理基础-第四章 基于语料库的工作(笔记)
  20. Android的webview加载本地html、本apk内html和远程URL

热门文章

  1. python爬取斗鱼图片
  2. 银河麒麟高级服务器操作系统V10上安装k8s单机集群
  3. 什么是XGS-PON?XGS-PON如何与GPON、XG-PON共存?
  4. opencv报错—error C2872: ACCESS_MASK: 不明确的符号
  5. android 反调试 方案,【木马分析】使用高级反调试与反HOOK的安卓恶意ROOT软件的深度分析(一):NATIVE层的调试...
  6. 战地之王服务器维护启动失败,《战地之王》战地之王韩服官方各种问题攻略
  7. iOS 类似复制链接打开淘宝APP后弹出页面功能
  8. OpenCV学习笔记(六)—— OpenCV for Android打开相机
  9. qt结合vs,opengl基础示例
  10. 带你全方位了解考研初试!