POJ2234 Matches Game 尼姆博弈 博弈论
Posted 鲸头鹳
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了POJ2234 Matches Game 尼姆博弈 博弈论相关的知识,希望对你有一定的参考价值。
http://poj.org/problem?id=2234
尼姆博弈(Nimm‘s Game) 指的是这样一个博弈游戏:有任意堆物品,每堆物品的个数是任意的,双方轮流从中取物品,每一次只能从一堆物品中取物品,最少取一件,取到最后一件物品的人获胜。
结论:把每堆物品数全部异或起来,如果得到的值为0,那么先手必败,否则先手必胜。
直接判定即可。
1 #include<cstdio> 2 #include<cstring> 3 #include<algorithm> 4 #include<cmath> 5 #include<iostream> 6 #include<map> 7 using namespace std; 8 int m ; 9 int main(){ 10 while(~scanf("%d",&m)){ 11 int x=0,y=0; 12 for(int i=1;i<=m;i++){ 13 scanf("%d",&x); 14 y^=x; 15 } 16 if(y==0){ 17 printf("No\n"); 18 } 19 else{ 20 printf("Yes\n"); 21 } 22 } 23 return 0; 24 }
以上是关于POJ2234 Matches Game 尼姆博弈 博弈论的主要内容,如果未能解决你的问题,请参考以下文章