Bash Game
一堆n个物品,两人轮流取,每次取1至m个,最后取完者胜。
必胜局面:n%(m+1) !=0
必输局面:n%(m+1)==0
Nim Game
m堆n个物品,两人轮流取,每次取某堆中不少于1个,最后取完者胜。
必胜局面:所有物品数目二进制异或!= 0
必输局面:所有物品数目二进制异或 == 0
Wythoff Game
两堆(a,b) (a<=b)个物品,两人轮流取,每次从一堆中取m个或者从2堆中同时取m个,规定至少取1个,最后取完者胜。
设 Φ = (1+sqrt(5.0))/2,即黄金分割,floor为向下取整。
int k = a/Φ
必胜局面:(a==floor(k×Φ) && b !=a+k) || (a==floor((k+1)×Φ) && b !=a+k+1)
必输局面:(a==floor(k×Φ) && b==a+k) || (a==floor((k+1)×Φ) && b==a+k+1)