HDU1907
2011-12-02 21:43
232 查看
HDU1907本题为一题尼姆博弈的变形题目为N堆东西2人轮流取,取完的人为败;此时需要对尼姆进行一步改进将其分为5种状态这5种状态划分如下:
1. T2 表示在尼姆对n堆东西进行异或值不为0,并且东西数大于2的堆数大于2
2. T0表示在尼姆对n堆东西进行异或值不为0,并且没有东西数大于2的堆数
3. S2表示在尼姆对n堆东西进行异或值不0,并且有东西数大于2的堆数大于2
4. S1表示在尼姆对n堆东西进行异或值为0,并且有东西数大于2的堆数等于1
5. S0表示在尼姆对n堆东西进行异或值为0,并且没有东西数大于2的堆数
其中经过状态点证明可以得知,T2,S0为奇异局势也就是必败局势而其余为菲奇异局势(必胜局势)那么很容易得到代码:
#include"stdio.h" int main() { int t,n,count,res,num; scanf("%d",&t); while(t--) { count=0; res=0; scanf("%d",&n); while(n--) { scanf("%d",&num); if(num>1) count++; res=res^num; } if(res==0&&count>=2||res!=0&&count==0) { printf("Brother\n"); } else { printf("John\n"); } } return 0; }
相关文章推荐
- hdu1907||poj3480 sg博弈
- HDU1907 John
- 博弈入门必备知识&&入门题 hdu1846 HDU1847 HDU1527 hdu2516 HDU1849 HDU1848 HDU1907
- hdu1907(anti-sg入门)
- hdu1907(Nim博弈)
- Nim博弈->HDU1907
- hdu1907 John (尼姆博弈)
- HDU1907 John Nim游戏
- HDU1907 John Anti_Nim SJ定理
- hdu1907 John--尼姆博弈
- hdu1907 John
- hdu1907 John
- hdu1907(尼姆博弈)
- hdu1907(博弈论水题)
- hdu1907
- hdu1907 John 博弈
- HDU1907 ZJU3113
- HDU1907:John(Nim)
- HDU1907 John (尼姆博弈变形)
- HDU_Steps8.2 博弈入门 HDU1846 HDU1847 HDU1848 HDU2149 HDU2188 HDU2147 HDU1907 HDU1851