Nim游戏的定义:
有若干堆石子,每堆石子的数量都是有限的,合法的移动是“选择一堆石子并拿走若干颗(不能不拿)”,如果轮到某个人时所有的石子堆都已经被拿空了,则判负(因为他此刻没有任何合法的移动)。
对于状态的严格定义为:
1. 无法进行任何移动的局面是必败态
2. 可以移动到必败态的局面是非必败态
3. 在必败态做的所有操作的结果都是非必败态
对于Nim游戏,局面是必败态当且仅当所有堆硬币的数量都异或起来结果为0,即
证明:
第一个命题显然成立,全0时异或任然是0。
第二个命题,对于局面(a1,a2,...,an),如果a1^a2^...^an不为0,则一定存在一个合法的移动,将ai改变后满足a1^a2^...^ai‘^...^an=0。设a1^a2^...^an=k,则一定存在ai和k的最高位一致。这时可知ai^k<ai。则可以将ai改为ai^k,改变后的序列a1^a2^...^(ai^k)^...^an=0。
第三个命题,对于局面(a1,a2,...,an),如果a1^a2^...^an=0,则对于任意移动后的序列都不为0。由a1^a2^...^ai^...^an=a1^a2^...^ai‘^...^an=0可知ai=ai‘,显然这不是一个合法的移动。
原文:https://www.cnblogs.com/hanasaki/p/11134090.html