题目描述

甲,乙两个人玩Nim取石子游戏。

nim游戏的规则是这样的:地上有n堆石子(每堆石子数量小于10000),每人每次可从任意一堆石子里取出任意多枚石子扔掉,可以取完,不能不取。每次只能从一堆里取。最后没石子可取的人就输了。假如甲是先手,且告诉你这n堆石子的数量,他想知道是否存在先手必胜的策略。

输入输出格式

输入格式:

第一行一个整数T<=10,表示有T组数据

接下来每两行是一组数据,第一行一个整数n,表示有n堆石子,n<=10000;

第二行有n个数,表示每一堆石子的数量

输出格式:

共T行,如果对于这组数据存在先手必胜策略则输出"Yes",否则输出"No",不包含引号,每个单词一行。

输入输出样例

输入样例#1: 复制

2
2
1 1
2
1 0
输出样例#1: 复制

No
Yes 最基础的Nim博弈
亦或和为0先手输
否则先手胜
#include<cstdio>
#include<algorithm>
using namespace std;
const int MAXN=1e6+,INF=1e9+;
inline int read()
{
char c=getchar();int x=,f=;
while(c<''||c>''){if(c=='-')f=-;c=getchar();}
while(c>=''&&c<=''){x=x*+c-'';c=getchar();}
return x*f;
}
int main()
{
#ifdef WIN32
freopen("a.in","r",stdin);
#else
#endif
int Test=read();
while(Test--)
{
int ans=;
int N=read();
while(N--)
{
int P=read();
ans=ans^P;
}
ans==?printf("No\n"):printf("Yes\n");
}
return ;
}

最新文章

  1. Web API Get Started First
  2. Android广播错误.MainActivity$MyReceiver; no empty constructor
  3. 用CSS做长度超过长度显示‘...’,当鼠标放上时显示全部内容
  4. ThinkPHP 学习笔记 ( 二 ) 控制器 ( Controller )
  5. CentOS6 Squid代理服务器的安装与配置
  6. Linux shell编程札记
  7. SQL Server批量更新数据
  8. C语言字节对齐
  9. Ext JS中Button的一般使用
  10. oracle中 some、any、all 三者的区别及个人总结,归纳!
  11. stm32之PWM
  12. 栅栏——CyclicBarrier
  13. 安装mysql5.5.28的步骤 2017.6.27
  14. LVM备份(1)-创建LVM逻辑卷
  15. Impacket官方使用指南
  16. Python 定值类
  17. Web Services的学习二
  18. 正则表达式,re模块
  19. Lua的文件操作
  20. Oracle安装部署之linux OS install oracle database安装脚本

热门文章

  1. 关键字New,如阴魂不散
  2. VIM -小技巧汇总
  3. tensorflow笔记4:函数:tf.assign()、tf.assign_add()、tf.identity()、tf.control_dependencies()
  4. virtualbox ubuntu 安装 openssh-server
  5. 破解第二课 JMP法
  6. [2019BUAA软工助教]第0次代码作业
  7. Struts框架(6)---action接收请求参数
  8. logstash解耦之redis消息队列
  9. C++版 - 剑指offer 面试题5:从尾到头打印链表 题解
  10. 【Objective-C】内存管理