BZOJ_1022_[SHOI2008]_小约翰的游戏John_(博弈论_反Nim游戏)-程序员宅基地

技术标签: php  

描述


http://www.lydsy.com/JudgeOnline/problem.php?id=1022

反Nim游戏裸题.详见论文<组合游戏略述——浅谈SG游戏的若干拓展及变形>.

 

分析


 1 #include <bits/stdc++.h>
 2 using namespace std;
 3 inline int read(int &x){x=0;int k=1;char c;for(c=getchar();c<'0'||c>'9';c=getchar())if(c=='-')k=-1;for(;c>='0'&&c<='9';c=getchar())x=x*10+c-'0';return x*=k;}
 4 
 5 int T,n,x,t,a;
 6 int main(){
 7     read(T);
 8     while(T--){
 9         read(n); x=t=0;
10         while(n--){
11             x^=read(a);
12             t+=a>1;
13         }
14         puts((!t&&!x)||(t&&x)?"John":"Brother");
15     }
16     return 0;
17 }
View Code

1022: [SHOI2008]小约翰的游戏John

Time Limit: 1 Sec  Memory Limit: 162 MB
Submit: 2133  Solved: 1348
[Submit][Status][Discuss]

Description

  小约翰经常和他的哥哥玩一个非常有趣的游戏:桌子上有n堆石子,小约翰和他的哥哥轮流取石子,每个人取
的时候,可以随意选择一堆石子,在这堆石子中取走任意多的石子,但不能一粒石子也不取,我们规定取到最后一
粒石子的人算输。小约翰相当固执,他坚持认为先取的人有很大的优势,所以他总是先取石子,而他的哥哥就聪明
多了,他从来没有在游戏中犯过错误。小约翰一怒之前请你来做他的参谋。自然,你应该先写一个程序,预测一下
谁将获得游戏的胜利。

Input

  本题的输入由多组数据组成第一行包括一个整数T,表示输入总共有T组数据(T≤500)。每组数据的第一行包
括一个整数N(N≤50),表示共有N堆石子,接下来有N个不超过5000的整数,分别表示每堆石子的数目。

Output

  每组数据的输出占一行,每行输出一个单词。如果约翰能赢得比赛,则输出“John”,否则输出“Brother”
,请注意单词的大小写。

Sample Input

2
3
3 5 1
1
1

Sample Output

John
Brother

HINT

Source

 

转载于:https://www.cnblogs.com/Sunnie69/p/5648831.html

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/aquz77529/article/details/101304038

智能推荐

部署LCM(Latent Consistency Models)实现快速出图_simianluo/lcm_dreamshaper_v7-程序员宅基地

文章浏览阅读2.3k次。LCM(Latent Consistency Models)可以通过很少的迭代次数就可以生成高清晰度的图片,目前只可以使用一个模型Dreamshaper_v7,基于SD版本Dreamshaper微调而来的。_simianluo/lcm_dreamshaper_v7

python FTP客户端程序 f =ftplib.FTP受阻,恳请指点迷津_python ftp堵塞 超时-程序员宅基地

文章浏览阅读245次。出现的Errno 111 和 2 的原因不明。_python ftp堵塞 超时

哪个照片去水印的工具好用?这6种照片去水印方法可拯救图片-程序员宅基地

文章浏览阅读761次,点赞14次,收藏12次。对于需要去除多个图片水印的朋友来说,该工具提供的批量处理服务,可以帮助大家一次性去除图片中的多个水印,大大提高了图像处理效率。该工具使用先进的算法来分析图片内容,并对水印区域进行智能填充操作,使得图像在去除水印后也能够保持较高的质量,看起来十分自然。它提供了一些基础的图像编辑工具,如裁剪、旋转、贴纸添加等,大家可以在去除水印的同时对图片进行一些简单的调整操作。这是集成在Windows操作系统中的一款图像处理工具,不仅提供了绘图功能,还支持一些基本的图像编辑和修复功能。

Android属性动画 PropertyValuesHolder_android propertyvaluesholder.offloat-程序员宅基地

文章浏览阅读836次。PropertyValuesHolderPropertyValuesHolder这个类的意义就是,它其中保存了动画过程中所需要操作的属性和对应的值。我们通过ofFloat(Object target, String propertyName, float… values)构造的动画,ofFloat()的内部实现其实就是将传进来的参数封装成 PropertyValuesHolder实例来保存动画状态。在封装成 PropertyValuesHolder实例以后,后期的各种操作也是以PropertyValues_android propertyvaluesholder.offloat

Java 你还在用list.contain做去重? 你是故意的还是不小心的?_list.contains-程序员宅基地

Java中常见的去重方法是使用List的contain方法,但这种方法效率较低。本文作者分享了一个更高效的去重方法,并对其进行了实验和评价。

熬夜肝了这一份C++开发详细学习路线_c++开发路径-程序员宅基地

文章浏览阅读827次,点赞2次,收藏17次。C/C++后台开发相关视频,文档代码资料包,学习路线思维导图免费领取学了之后要验证自己学得如何,可以来小编的网站看看这些面试题,通过面试题查漏补缺技术视频讲解,总之,关于校招,学习路线,面试题等等,很多我在网站都更新了,包括个人经历,大家迷茫没事做时,可以多打开看看。最后,大家加油,努力学两年,争取日后那个好的 offer原文链接:https://juejin.cn/post/6997248187413037070。....................._c++开发路径

随便推点

linux上安装Openssl步骤详解-程序员宅基地

文章浏览阅读1.8w次,点赞8次,收藏54次。linux上安装Openssl步骤详解 1,查看原有系统是否已安装Opensslopenssl version -a系统已经安装了openssl,我们先安装新的版本,然后将环境配置成最新的版本。2,从openssl官网下载最新的稳定版本,https://www.openssl.org/source/ 当前的稳定版是 openssl-fips-2.0.16.t_openssl

内核启动卡在Waiting for root device /dev/mmcblk0p2...-程序员宅基地

文章浏览阅读1.8k次。Waiting for root device /dev/mmcblk0p2... _waiting for root device

Java学习笔记——内部类(成员类,局部类,匿名类)-程序员宅基地

文章浏览阅读721次,点赞26次,收藏17次。private 为了保证数据的安全性System.out.println(“芯片工作”);o.show();//内部类加入了private权限修饰符之后,就不能被访问了是错误的芯片在电脑的里面,我们不希望芯片这个内部类被外界访问,所以用private修饰这时我们只能在Computer类里面创建Chip类的对象,再由这个对象来调用成员变量或者成员方法。再像之前那样用外部类名.内部类名 对象名 = 外部类对象.内部类对象;的方法来创建内部类对象就不行了。

CodeForces 1045G AI robots(CDQ分治 + 树状数组 + 单调队列)_codeforces cdq-程序员宅基地

文章浏览阅读418次。 大致题意:有很多个机器人,他们要相互交流有一些限制条件。首先是,两个人要相互能够能够看到;其次,两个人的智商的差不超过K。现在给出每个机器人的视力范围和他们的智商,现在问你总共有多少对机器人能够相互交流。首先来看下总共有多少个限制条件。由于是要求双方都能够看到,所以显然是要按照视野半径去排序的。然后要求两个人的智商差要在一定的范围内的,所以也要按照智商去排序。另外还要跟自己的位..._codeforces cdq

利用matlab仿真两星球之间的万有引力运动_星间切换时延matlab-程序员宅基地

文章浏览阅读1.4k次,点赞7次,收藏13次。利用matlab建模仿真星球之间的万有引力运动_星间切换时延matlab

Android 本地保存之外部存储/内部存储路径获取大全_getexternaldir().tostring()-程序员宅基地

文章浏览阅读2k次。//:/system String rootDir = Environment.getRootDirectory().toString(); System.out.println("Environment.getRootDirectory()=:" + rootDir); //:/data 用户数据目录 Stri..._getexternaldir().tostring()

推荐文章

热门文章

相关标签