POJ2234 Matches Game 尼姆博弈 博弈論
阿新 • • 發佈:2017-12-04
none dbf hide 一個 lan while splay ont href
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> 6View Code#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 尼姆博弈 博弈論