题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1850

题意:中文题诶~

思路:nim博弈

可以将本题抽象成一般nim博弈,那么有:

1. 对于所有元素异或值为0的情况为P局面

2. 若a1^a2...^ai...^an=m!=0,那么一定存在一个ai'使得a1^a2...^ai'...^an=0;不难算出ai'=num^ai;

即只要我们能将ai变成num^ai,那么对手将面对P局面;又从游戏规则可知ai'<ai(要从ai中拿掉一定数目的牌变成ai');

所以我们需要做的就是统计num^ai<ai的数目啦;

代码:

 #include <iostream>
#define MAXN 1010
using namespace std; int a[MAXN]; int main(void){
int n;
while(cin >> n&&n){
int ans=;
for(int i=; i<n; i++){
cin >> a[i];
ans^=a[i];
}
if(!ans){
cout << << endl;
}else{
int num=;
for(int i=; i<n; i++){
if((ans^a[i])<a[i]){
num++;
}
}
cout << num << endl;
}
}
return ;
}

最新文章

  1. ubuntu中用户使用的shell如何指定
  2. JQuery测手速小游戏-遁地龙卷风
  3. HDOJ 1870
  4. hdu 2054
  5. PPT图片快速编辑技巧
  6. 宏ut_mem_block_t
  7. webstorm 主题设置 皮肤设置
  8. cocos2dx jsb 在IOS与安卓下的一些不同之处
  9. Android在onCreate()中获得控件尺寸
  10. Python类的基础入门知识
  11. HDOJ 1237题 简单计算器
  12. android开发之使用Messenger实现service与activity交互
  13. 去除input[type=number]最右边的spinners(默认加减符号)
  14. 输入和输出--RandomAccessFile类
  15. MySQL中的replace语句
  16. Django之auth模块
  17. ASP.NET Core 新建线程中使用依赖注入的问题
  18. linux常用的BootLoader U-boot的前世今生
  19. 安卓中使用OkHttp发送数据请求的两种方式(同、异步的GET、POST) 示例-- Android基础
  20. 从python容器中随机选取元素

热门文章

  1. 如果在 Code First 模式下使用,则使用 T4 模板为 Database First 和 Model First
  2. 2016/07/07 apmserv5.2.6 Apache启动失败,请检查相关配置。MySQL5.1已启动。
  3. mvn 添加本地jar包
  4. EasyDarwin做转发延时太大?
  5. Java开发面试题
  6. 按照eslint 规范写代码 [eslint] &#39;flag&#39; is assigned to itself. (no-self-assign)
  7. Dropout: A Simple Way to Prevent Neural Networks fromOverfitting
  8. Java诊断工具Arthas
  9. Python序列——字符串
  10. UVA10561 Treblecross —— SG博弈