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

Time Limit: 1 Sec  Memory Limit: 162 MB

Submit: 3014  Solved: 1914

[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

见论文:

算法合集之《组合游戏略述——浅谈SG游戏的若干拓展及变形》

#include<iostream>
#include<cstdio>
#include<cstring>
#include<algorithm>
#define LL long long int
#define REP(i,n) for (int i = 1; i <= (n); i++)
#define fo(i,x,y) for (int i = (x); i <= (y); i++)
#define Redge(u) for (int k = head[u]; k != -1; k = edge[k].next)
using namespace std;
const int maxn = 100005,maxm = 100005,INF = 1000000000;
inline int read(){
int out = 0,flag = 1;char c = getchar();
while (c < 48 || c > 57) {if (c == '-') flag = -1; c = getchar();}
while (c >= 48 && c <= 57) {out = out * 10 + c - 48; c = getchar();}
return out * flag;
}
int main()
{
int T = read(),N,flag,x,n;
while (T--){
N = read(); flag = 1; n = 0;
REP(i,N){
x = read();
if (x != 1) flag = 0;
n ^= x;
}
if (flag && (N & 1)) puts("Brother");
else if (flag) puts("John");
else if (n) puts("John");
else puts("Brother");
}
return 0;
}

最新文章

  1. 用Github pages搭建自己制作的网页,方法最简单,适用于新手
  2. RemoteIE 开发者可跨平台使用IE测试网页
  3. Ext.js添加子组件
  4. Maven排除项目中同名不同版本的jar
  5. Java IO之一读取文件
  6. 周赛-KIDx&#39;s Pagination 分类: 比赛 2015-08-02 08:23 7人阅读 评论(0) 收藏
  7. C++,利用链式栈实现括号匹配,界面友好,操作方便,运行流畅
  8. Yii集成smarty说明
  9. MVC4 网站发布(整理 + 部分转载 + 部分问题收集和解决方案)
  10. const形参和实参
  11. deep learning framework(不同的深度学习框架)
  12. Linux usb子系统(二):USB设备驱动usb-skeleton.c
  13. BZOJ 1146: [CTSC2008]网络管理Network( 树链剖分 + 树状数组套主席树 )
  14. 看完这篇文章才对【GIT】有了大彻大悟的认识
  15. C++中的动态链接库
  16. IDEA热部署(三)---jetty插件调试(转)
  17. WebAPI 实现前后端分离
  18. beef + msf 实现内网渗透
  19. [LightOJ 1287] Where to Run
  20. 系统限制和选项limit(一)

热门文章

  1. 如何利用Navicat导入/导出mssql中的数据
  2. idea前端页面不刷新----springboot
  3. Simple layout
  4. svn服务器 备份,迁移,部署方案
  5. Agri-Net(最小生成树)
  6. Thunder团队Beta周贡献分规则
  7. pthon_flask小汇总
  8. TCP系列30—窗口管理&流控—4、Cork算法
  9. 利用SqlServer的作业定时清除过期数据
  10. 转 Js 跨域CORS报错 Response for preflight has invalid HTTP status code 405