Nim游戏:
有k堆石子,每次取走其中的一整堆或者一堆中的多个。取走最后一个石子的玩家获胜。
如果Nim和为0,先手每次取了多少,后手取相同的。从而达到后手必胜。
反之,不为0时,先手可以通过一次操作使其Nim和为0,从而先手必胜。
SG(x) = mex(SG(y)|x->y)
能从x状态转移到y状态,mex(Y)表示不存在与Y中的最小自然数
一堆棋子:
SG(0) = 0; SG(1) = mex(SG(0)) = 1
两堆:
SG(0,0) = 0 SG(0,1) = mex(SG(0,0)) = 1
n堆棋子:
SG(x1,x2........xn) = x1到xn的异或和
定理:
每个SG游戏都可以等效为一堆数为k的棋子。
因此当多个游戏同时运行,而且每次只能进行一步操作,每个SG看成一堆棋子,从而转变成取棋子游戏。
/*学习,未完