1、nim博弈
n堆石子,每次可以从一堆里面取任意个石子
对于一堆石子,SG函数就是石子数,整个游戏的SG函数是每一堆石子的SG函数的亦或和
必胜:SG不为0
必败:SG为0
2、巴什博奕(Bash Game)
一堆石子,每次最多从里面取 m 个石子
一堆石子的SG函数为石子数 % (m + 1)
必胜:SG不为0
必败:SG为0
3、Nimk Game
每次最多可以同时从 k 堆石子进行操作,这 k 堆可以取不同数量的石子
一堆石子的SG函数为石子数
对每一个二进制位单独算,求SG函数每一个二进制位1的个数 % (k + 1),如果都为 0 ,则必败,否则必胜
4、Anti-Nim Game
与 nim 博弈相反,
不能取石子的一方获胜
必胜:SG不为 0 且至少有一堆石子数大于 0 或者SG为 0 且每一堆石子数都为 1
必败:其余为必败
5、阶梯博弈(Staircase Nim)
每次可以从一个阶梯上拿掉任意数量石子放到下一层阶梯,不能操作的为输
SG函数为奇数阶梯上的石子的亦或和
6、威佐夫博弈(Wythoff Game)
有两堆石子,每次可以从一堆或者两堆里拿走一样数目的石子,不能取的为输
若两堆石子的初始值为(x,y),且 x < y ,则另z = y - x,记w=(int)[((sqrt(5)+1)/ 2)* z ] // 向下取整
若w = x,则先手必败,否则先手必胜。
详解见博客:https://blog.csdn.net/qq_41311604/article/details/79980882
7、树上删边游戏
给定根节点,每次可以删掉一条边,不与根节点相连的部分删除
叶子节点SG为0,其他节点的SG函数为子树SG+1的亦或和