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 }
代码君

 

你可能感兴趣的:(simple)