让我们想象一个由“井”字棋盘和几个可以被放置在方格中的圆形棋子构成的游戏。假设有下列规则:一个棋子如果位于另一个棋子和一个空格之间(沿任意垂直、水平或对角方向),则这个棋子可以被它旁边的那个棋子跳过。当玩家用一个棋子跳过另一个时,后者便被从棋盘上拿下,就像象棋中被吃掉的棋一样。
在这个游戏的单人版中,你的目标是在几步跳跃之后使棋盘上只剩一个棋子。设想如图A所示的初始状态。有什么办法保证在游戏结束时棋盘上只剩下一个棋子吗?图B、C和D告诉我们该如何做。
你的第一个挑战是回答与这个游戏有关的两个问题:为了保证游戏结束时只有一个棋子,游戏的初态至少要留有几个空白的格子,它们位于棋盘的哪些位置?另外,如果把3×3的棋盘替换成4×4的,要至少保留多少个空白格,位于棋盘的哪些位置?
现在让我们来考虑游戏的双人版,我把它称作“跳跃抢夺”。游戏一开始,在3×3棋盘的每个格子中各放一个棋子。第一个玩家,被称作抢夺者,从任意方格中移掉一个棋子。第二个玩家被称作跳跃者,在现有可能的情况中选择一次跳跃。跳完后,则轮到抢夺者跳跃,如此交替,直至一位玩家完成跳跃后,棋盘上只剩下一个棋子,此时游戏结束,这位玩家获胜。如果在移动的开始,玩家面临无法跳跃的局面,他必须将一个棋子挪至中心方格中;如果不能移动,则他必须将一个不是位于中心的棋子移动至其相邻的格子中。
例图E、F和G显示了跳跃抢夺游戏最开始的三次移动。假设游戏双方都选择最佳的跳跃策略,谁将获得这场游戏的胜利?
答案
对于3×3的棋盘,在游戏开始时使任意角落处的方格为空,可以确保只有一个棋子剩到最后。
对于4×4的棋盘,你可以在开始时使棋盘上任意一个方格为空便可以达到同样目的。在游戏例图中,跳跃者如果在第四次移动时连跳两次就能赢。