hdu 2176 取(m堆)石子游戏

2014-11-24 12:38:42 · 作者: · 浏览: 0

题意:

思路:

NIMM博弈。

代码:

#include
  
   
#include
   
     #include
    
      using namespace std; int m,n[200010];//m是石子的堆数,数组存储的是每堆石子的个数 int main() { int s,sum; while(scanf(%d,&m) != EOF && m) { sum = 0; for(int i=0; i
     
      >n[i]; sum ^= n[i];//根据NIMM博弈的推理策略,应该对每一堆的石子进行异或运算 } if(sum == 0)//先取者总是遇见非奇异局势(第一次就是非奇异局势) cout<