Time Limit: 1 Sec  Memory Limit: 162 MB
Submit: 3134  Solved: 2003
[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

裸的Anti-Nim游戏

直接上定理

先手必胜的条件

所有堆的石子数都为1且游戏的SG值为0

有些堆的石子数大于1且游戏的SG值不为0

#include<cstdio>
#include<queue>
#include<cstring>
#include<algorithm>
using namespace std;
const int MAXN=1e6+,INF=1e9+;
inline char nc()
{
static char buf[MAXN],*p1=buf,*p2=buf;
return p1==p2&&(p2=(p1=buf)+fread(buf,,MAXN,stdin),p1==p2)?EOF:*p1++;
}
inline int read()
{
char c=nc();int x=,f=;
while(c<''||c>''){if(c=='-')f=-;c=nc();}
while(c>=''&&c<=''){x=x*+c-'';c=nc();}
return x*f;
}
int a[MAXN];
main()
{
#ifdef WIN32
freopen("a.in","r",stdin);
#else
#endif
int QWQ=read();
while(QWQ--)
{
int N=read(),one=,allone=,ans=;
for(int i=;i<=N;i++)
{
a[i]=read();
if(a[i]!=) allone=;
if(a[i]>) one=;
ans=ans^a[i];
}
if( (ans==&&allone) || (ans!=&&one) ) printf("John\n");
else printf("Brother\n"); }
return ;
}

最新文章

  1. JS代码和OC代码的相互调用
  2. PHP数组处理函数的使用array_map(三)
  3. web.xml中/与/*的区别
  4. IOS开发中--点击imageView上的Button没有任何反应
  5. 向左对齐的Gallery
  6. linux中cat、more、less命令区别详解
  7. cocos2d-x 如何保持屏幕常亮
  8. [转载]MVC3缓存:使用页面缓存
  9. javascript小知识1 this的用法
  10. swift 手势之UIPanGestureRecognizer
  11. [ExtJS5学习笔记]第三十一节 sencha extjs 5使用cmd生成的工程部署到tomcat服务器
  12. angular-指令
  13. .net reactor使用教程(一)——界面各功能说明(转)
  14. piwik获取访客头像,自定义显示访问者头像(URL)和描述(标题和替代)
  15. C++ 设置透明背景图片
  16. Spring Environment(一)API 介绍
  17. 在线团队协作工具+在线UML工具
  18. HDU1281(KB10-D 二分图最大匹配)
  19. Javascript原型继承原理
  20. PAT 团体程序设计天梯赛 L1-046 整除光棍(模拟除法)

热门文章

  1. ubuntu在终端下复制粘贴的2种方法
  2. Mybatis Cause: java.lang.ClassNotFoundException: Cannot find class:
  3. H5拖动实现代码
  4. dedecms中arclist标签做分页以及分页点击模块样式错乱问题
  5. [P4721] 分治 FFT
  6. 从面试连跪到收割offer,回顾我的春招面试历程(研发岗位)
  7. 古典音乐 (java基础 继承)
  8. https下 http的会被阻塞 This request has been blocked; the content must be served over HTTPS.
  9. go使用context包避免goroutine泄露问题
  10. MySQL备份mydumper的原理【转】