题目大意:

n堆石子,两个人轮流取石子,每个人取的时候,可以随意选择一堆石子

在这堆石子中取走任意多的石子,但不能一粒石子也不取,取到最后一粒石子的人算输

思路:

首先当每堆石子数都为1时,偶数为先手必胜,奇数为先手必败

当有一堆石子数不为1时,先手可以使堆变为奇数个1的堆,即先手必胜

而如果有很多堆石子数不为1,如果异或和不为0,则先手可以把异或和变为0 变为必胜态

 #include<iostream>
#include<cstdio>
#include<algorithm>
#include<cmath>
#include<cstdlib>
#include<cstring>
#include<queue>
#include<map>
#include<vector>
#define ll long long
#define inf 2147483611
#define MAXN 1010
using namespace std;
inline int read()
{
int x=,f=;char ch=getchar();
while(!isdigit(ch)) {if(ch=='-') f=-;ch=getchar();}
while(isdigit(ch)) {x=x*+ch-'';ch=getchar();}
return x*f;
}
int T,n;
int main()
{
T=read();int sum,a;bool f;
while(T--)
{
n=read(),sum=f=;
for(int i=;i<=n;i++)
{
a=read();
sum^=a;
if(a!=) f=;
}
if((!f&&!sum)||(sum&&f)) puts("John");
else puts("Brother");
}
}

最新文章

  1. supermpa配置遇到的问题
  2. Code HighLight
  3. [Unity3D]脚本生命周期学习
  4. Office 365 – SharePoint 2013 Online 中添加域和域名
  5. WeakReference(弱引用)
  6. 空格和TAB键混用错误:IndentationError: unindent does not match any outer indentation level
  7. PHP批量替换MySql数据库中的数据内容(替换MySql数据库内容源码)
  8. AJAX中的dataType(数据格式)-text、json
  9. 【每周一译】愚蠢的指标:Java中使用最多的关键字
  10. Windows下的PHP开发环境搭建——PHP线程安全与非线程安全、Apache版本选择,及详解五种运行模式。
  11. Select * 一定不走索引是否正确?
  12. 【Xilinx-Petalinux学习】-00-开始
  13. 源码怎么找之rest_framework的用户认证
  14. XMLTABLE
  15. Windows下建立FTP服务器站点
  16. 【原创】大叔经验分享(43)logstash设置jdbc_default_timezone后报错
  17. ForkJoinPool
  18. STL中set的使用方法
  19. 《Java编程思想第四版》附录 B 对比 C++和 Java
  20. python,异常处理

热门文章

  1. [Linux]正则表达式和grep使用【转载】
  2. 打造个人的vimIDE
  3. java jvm eclipse 性能调优
  4. Linux内核-内存回收逻辑和算法(LRU)
  5. 2019西安多校联训 Day1
  6. 诊断:ORA-38760: This database instance failed to turn on flashback database
  7. unity问题笔记
  8. java解析从接口获取的json内容并写到excle(只写与标题匹配的值,并非把所有的接口返回值都写进去)
  9. 利用ajax全局设置实现拦截器
  10. 洛谷 1182 数列分段Section II