Nim游戏
设n堆石子的个数分别为:[a1,a2,a3,...,ana_1,a_2,a_3,...,a_na1,a2,a3,...,an],两位玩家轮流操作,每次操作可以从任意一堆石子中拿走任意数量的石子(可以拿完,但不能不拿),最后无法进行操作的人视为失败。
问如果两人都采用最优策略,先手是否必胜。
结论
若 a1⊕a2⊕a3⊕...⊕an≠0a_1 \oplus a_2 \oplus a_3 \oplus ... \oplus a_n \neq 0a1⊕a2⊕a3⊕...⊕an=0 则先手必胜
若 a1⊕a2⊕a3⊕...⊕an=0a_1 \oplus a_2 \oplus a_3 \oplus ... \oplus a_n = 0a1⊕a2⊕a3⊕...⊕an=0 则先手必败
证明
- 当所有石子个数都为0时:0⊕0⊕0...⊕0=00 \oplus 0 \oplus 0 ... \oplus 0 = 00⊕0⊕0...⊕0=0
- 当n堆石子的个数分别为:[a1,a2,a3,...,ana_1,a_2,a_3,...,a_na1,a2,a3,...,an]时
2.1 若 a1⊕a2⊕a3⊕...⊕an=x≠0a_1 \oplus a_2 \oplus a_3 \oplus ... \oplus a_n = x \neq 0a1⊕a2⊕a3