1022: [SHOI2008]小约翰的游戏John
Description
小约翰经常和他的哥哥玩一个非常有趣的游戏:桌子上有n堆石子,小约翰和他的哥哥轮流取石子,每个人取
的时候,可以随意选择一堆石子,在这堆石子中取走任意多的石子,但不能一粒石子也不取,我们规定取到最后一
粒石子的人算输。小约翰相当固执,他坚持认为先取的人有很大的优势,所以他总是先取石子,而他的哥哥就聪明
多了,他从来没有在游戏中犯过错误。小约翰一怒之前请你来做他的参谋。自然,你应该先写一个程序,预测一下
谁将获得游戏的胜利。
Input
本题的输入由多组数据组成第一行包括一个整数T,表示输入总共有T组数据(T≤500)。每组数据的第一行包
括一个整数N(N≤50),表示共有N堆石子,接下来有N个不超过5000的整数,分别表示每堆石子的数目。
Output
每组数据的输出占一行,每行输出一个单词。如果约翰能赢得比赛,则输出“John”,否则输出“Brother”
,请注意单词的大小写。
Sample Input
3
3 5 1
1
1
Sample Output
Brother
HINT
Source
Seerc2007
1 #include<iostream> 2 #include<cstdlib> 3 #include<cmath> 4 #include<cstring> 5 #include<cstdio> 6 #include<algorithm> 7 #include<string> 8 #include<map> 9 #include<queue> 10 #include<vector> 11 #include<set> 12 #define inf 1000000000 13 #define maxn 10000+5 14 #define maxm 10000+5 15 #define eps 1e-10 16 #define ll long long 17 #define for0(i,n) for(int i=0;i<=(n);i++) 18 #define for1(i,n) for(int i=1;i<=(n);i++) 19 #define for2(i,x,y) for(int i=(x);i<=(y);i++) 20 #define for3(i,x,y) for(int i=(x);i>=(y);i--) 21 #define for4(i,x) for(int i=head[x],y=e[i].go;i;i=e[i].next,y=e[i].go) 22 using namespace std; 23 int read(){ 24 int x=0,f=1;char ch=getchar(); 25 while(ch<'0'||ch>'9'){if(ch=='-')f=-1;ch=getchar();} 26 while(ch>='0'&&ch<='9'){x=10*x+ch-'0';ch=getchar();} 27 return x*f; 28 } 29 int main(){ 30 //freopen("input.txt","r",stdin); 31 //freopen("output.txt","w",stdout); 32 int n=read(); 33 for1(i,n){ 34 int m=read(); 35 int x=read(),flag=1; 36 if(x!=1)flag=0; 37 for1(i,m-1){ 38 int y=read();if(y!=1)flag=0; 39 x^=y; 40 } 41 if(flag==1){ 42 if(x==0)cout<<"John"<<endl; 43 else cout<<"Brother"<<endl; 44 } 45 else{ 46 if(x==0)cout<<"Brother"<<endl; 47 else cout<<"John"<<endl; 48 } 49 } 50 return 0; 51 }
View Code
转载于:https://www.cnblogs.com/htwx/articles/5498916.html
1022: [SHOI2008]小约翰的游戏John相关推荐
- BZOJ 1022 [SHOI2008]小约翰的游戏John AntiNim游戏
1022: [SHOI2008]小约翰的游戏John Time Limit: 1 Sec Memory Limit: 162 MB Submit: 1475 Solved: 932 [Submit ...
- 1022: [SHOI2008]小约翰的游戏John【Nim博弈,新生必做的水题】
1022: [SHOI2008]小约翰的游戏John Time Limit: 1 Sec Memory Limit: 162 MB Submit: 2709 Solved: 1726 [Submi ...
- bzoj 1022: [SHOI2008]小约翰的游戏John anti_nim游戏
1022: [SHOI2008]小约翰的游戏John Time Limit: 1 Sec Memory Limit: 162 MB Submit: 1189 Solved: 734 [Submit ...
- BZOJ 1022 [SHOI2008]小约翰的游戏John
title: 'BZOJ 1022 [SHOI2008]小约翰的游戏John' categories: BZOJ date: 2016-3-8 21:27:00 tags: [SG函数,博弈论] De ...
- bzoj 1022: [SHOI2008]小约翰的游戏John(anti-nim)
1022: [SHOI2008]小约翰的游戏John Time Limit: 1 Sec Memory Limit: 162 MB Submit: 2375 Solved: 1497 [Submi ...
- bzoj 1022: [SHOI2008]小约翰的游戏John
$ \color{#0066ff}{ 题目描述 }$ 小约翰经常和他的哥哥玩一个非常有趣的游戏:桌子上有n堆石子,小约翰和他的哥哥轮流取石子,每个人取 的时候,可以随意选择一堆石子,在这堆石子中取走任 ...
- bzoj 1022: [SHOI2008]小约翰的游戏John(反nim游戏)
Description 小约翰经常和他的哥哥玩一个非常有趣的游戏:桌子上有n堆石子,小约翰和他的哥哥轮流取石子,每个人取 的时候,可以随意选择一堆石子,在这堆石子中取走任意多的石子,但不能一粒石子也不 ...
- BZOJ 1022 SHOI2008 小约翰的游戏John 博弈论
题目大意:反Nim游戏,即取走最后一个的人输 首先状态1:如果所有的堆都是1,那么堆数为偶先手必胜,否则先手必败 然后状态2:如果有两个堆数量相同且不为1,那么后手拥有控场能力,即: 若先手拿走一堆, ...
- BZOJ1022 [SHOI2008]小约翰的游戏John 【博弈论】
1022: [SHOI2008]小约翰的游戏John Time Limit: 1 Sec Memory Limit: 162 MB Submit: 3014 Solved: 1914 [Submi ...
最新文章
- java明星养成游戏_#IT明星不是梦#Java14不得不知的5个新功能
- UVa 10420 List of Conquests
- 大正整数排序~(结构体排序~)
- Angular 2.x 从0到1 (五)史上最简单的Angular2教程
- 竹签子毕竟是_毕竟是什么程序和功能?
- 字符集匹配:\s 匹配一个空格,一边后面加量词表示多个空格,\s*表示0个以上空格,\s+表示1个以上空格,\s相当于[\f\r\n\t ]5种空白字符。...
- mysql 主键互换_MySQL-什么方法可以快速的交换两条记录的ID?
- 若依如何使用多数据源?
- Flash Builder 4.7 注释字体修改
- 中国电信运营商布局云计算“赛道”面临三大挑战
- 如何复制百度文库上的文本
- ZIGBEE 工程内区分终端与协调器
- 中国银联Applepay客户端接入
- 解开神经科学中的交叉频率耦合
- 第一章第六天Java基础语法 嵌套循环
- 常用的防火墙命令总结
- MySQL-基本概念与查询操作(DESC/SELECT/FROM/WHERE/LIKE)
- js如何判断保留两位小数
- Android App打开淘宝(店铺或商品)
- Ka的分治|归并排序,注释详尽
热门文章
- oracle ora-3136,ORA-3136 错误解决 .
- LeetCode 13 罗马符号转化为数字(难度: Easy)
- jovi语音助手安装包_jovi语音助手安装包2016
- printf 打印结构体成员函数出错原因分析
- 记一次git pull报错问题 is owned by: ‘xxx‘ but the current user is ‘xxx‘
- 通过动态域名解析(DDNS)实现远程控制Windows主机
- 怎么创建dllwenjian_怎样新建一个*.dll的文件?
- selenium处理iframe标签
- 魅族6支持html吗,不知道你们发现了么,魅族Flyme6 超好用的隐藏功能
- 计算机一级office考试攻略,计算机一级考试MSOffice应试技巧