hdu 1850 Being a Good Boy in Spring Festival(尼姆博奕)
来源:互联网 发布:不求上进的玉子 知乎 编辑:程序博客网 时间:2024/04/29 15:51
Being a Good Boy in Spring Festival
Time Limit: 1000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 6447 Accepted Submission(s): 3893
Problem Description
一年在外 父母时刻牵挂
春节回家 你能做几天好孩子吗
寒假里尝试做做下面的事情吧
陪妈妈逛一次菜场
悄悄给爸爸买个小礼物
主动地 强烈地 要求洗一次碗
某一天早起 给爸妈用心地做回早餐
如果愿意 你还可以和爸妈说
咱们玩个小游戏吧 ACM课上学的呢~
下面是一个二人小游戏:桌子上有M堆扑克牌;每堆牌的数量分别为Ni(i=1…M);两人轮流进行;每走一步可以任意选择一堆并取走其中的任意张牌;桌子上的扑克全部取光,则游戏结束;最后一次取牌的人为胜者。
现在我们不想研究到底先手为胜还是为负,我只想问大家:
——“先手的人如果想赢,第一步有几种选择呢?”
春节回家 你能做几天好孩子吗
寒假里尝试做做下面的事情吧
陪妈妈逛一次菜场
悄悄给爸爸买个小礼物
主动地 强烈地 要求洗一次碗
某一天早起 给爸妈用心地做回早餐
如果愿意 你还可以和爸妈说
咱们玩个小游戏吧 ACM课上学的呢~
下面是一个二人小游戏:桌子上有M堆扑克牌;每堆牌的数量分别为Ni(i=1…M);两人轮流进行;每走一步可以任意选择一堆并取走其中的任意张牌;桌子上的扑克全部取光,则游戏结束;最后一次取牌的人为胜者。
现在我们不想研究到底先手为胜还是为负,我只想问大家:
——“先手的人如果想赢,第一步有几种选择呢?”
Input
输入数据包含多个测试用例,每个测试用例占2行,首先一行包含一个整数M(1<M<=100),表示扑克牌的堆数,紧接着一行包含M个整数Ni(1<=Ni<=1000000,i=1…M),分别表示M堆扑克的数量。M为0则表示输入数据的结束。
Output
如果先手的人能赢,请输出他第一步可行的方案数,否则请输出0,每个实例的输出占一行。
Sample Input
35 7 90
Sample Output
1
若某一堆的个数为a[i],我们知道连续异或两次同一个数等于没异或,还有两个相同的数异或才会为0(异或相同为0不同为1,相同的数二进制才会完全相同)
所以如果一个堆满足a[i]>sum^a[i]我们就可以通过在这个堆里取a[i]-sum^a[i]张牌从而使sum变成0(即给对手必败态)
因为至少取一张牌所以只能>不能=
代码:
#include <iostream>#include <cstdio>#include <cstring>#include <algorithm>#include <cmath>using namespace std;#define N 110int a[N];int main(){ int n; while(~scanf("%d",&n)&&n) { int ans=0; for(int i=1; i<=n; i++) { scanf("%d",&a[i]); ans^=a[i]; } if(!ans) printf("0\n"); else { int cnt=0; for(int i=1; i<=n; i++) if(a[i]>(ans^a[i])) cnt++; printf("%d\n",cnt); } } return 0;}
0 0
- HDU 1850 Being a Good Boy in Spring Festival(尼姆博奕)
- hdu 1850 Being a Good Boy in Spring Festival (博弈)
- hdu 1850 Being a Good Boy in Spring Festival
- hdu 1850 Being a Good Boy in Spring Festival
- HDU 1850 - Being a Good Boy in Spring Festival
- hdu 1850 Being a Good Boy in Spring Festival
- hdu 1850 Being a Good Boy in Spring Festival
- HDU 1850 Being a Good Boy in Spring Festival
- HDU 1850 - Being a Good Boy in Spring Festival
- Hdu 1850 Being a Good Boy in Spring Festival
- HDU 1850 Being a Good Boy in Spring Festival
- [博弈]HDU 1850 Being a Good Boy in Spring Festival
- hdu 1850 Being a Good Boy in Spring Festival
- hdu 1850 Being a Good Boy in Spring Festival
- HDU(1850) Being a Good Boy in Spring Festival (博弈)
- HDU 1850 Being a Good Boy in Spring Festival
- hdu 1850 Being a Good Boy in Spring Festival
- hdu-1850 Being a Good Boy in Spring Festival
- 概念讲解+当前趋势:从RNN到LSTM
- java操作(DOM、SAX、JDOM、DOM4J)xml方式的四种比较与详解
- 配接器
- 并行计算
- 【C++】MFC 创建对话框,实现对“学生课程成绩”的管理
- hdu 1850 Being a Good Boy in Spring Festival(尼姆博奕)
- Retrofit 2.0 + OkHttp 3.0学习记录
- Java8重新认识HashMap
- swift基础(十):类型检查操作符is、类型转换操作符as(包括!及?的区别)、AnyObject和Any类型
- tomcat+mysql绿色安装版本注意事项
- 欢迎使用CSDN-markdown编辑器
- 学习视频剪辑
- listview处理不同类型数据缓存
- 剑指offer(50)-表示数值的字符串