HDU 1851 (巴什博奕 SG定理) A Simple Game

这是由n个巴什博奕的游戏合成的组合游戏。

对于一个有m个石子,每次至多取l个的巴什博奕,这个状态的SG函数值为m % (l + 1)。

然后根据SG定理,合成游戏的SG函数就是各个子游戏SG函数值的异或和。

 1 #include <cstdio>
 2 
 3 int main()
 4 {
 5     int T, n; scanf("%d", &T);
 6     while(T--)
 7     {
 8         scanf("%d", &n);
 9         int s = 0, m, l;
10         while(n--) { scanf("%d%d", &m, &l); s ^= m%(l+1); }
11         printf("%s\n", s ? "No" : "Yes");
12     }
13 
14     return 0;
15 }
代码君

 

posted @ 2015-04-11 15:49  AOQNRMGYXLMV  阅读(193)  评论(0编辑  收藏  举报