枚硬币排成一排,两人轮流取,每人每次可取其中一枚或者相邻的两枚。
- 取到最后一枚硬币的赢得游戏。分析游戏策略。
- 取到最后一枚硬币的算输。分析游戏策略。
第二种情况的特殊情形()是今天软件实验班的招生考试试题。
从题目的描述看,最后肯定会出现将这一排硬币被分割成m个小段的情况。在此,将各段硬币的数量用逗号分开标记,各段的顺序不会影响结果,关键看各段硬币数量的组合数。
为了让自己一定能赢,必须使得对手在最后的一(对于第一种情况)两(对于第二种情况)次取币中没有选择(指只有一种取法)或者无法挽回(指有多中取法,但造成的结果一样)。
对于第一种情况——取到最后一枚硬币的赢:
那么我必须给对手造成这样的状态——1,1(最后剩下两枚,分开的)。因为只有这样,才能保证最后一枚硬币总会是自己的。这是一样从结果状态往前推的方法。为了让〈1,1〉这种状态是对手遇到而不让自己有机会遇到,这就与初始状态下的硬币数量以及过程中的取法有关系了。能造成这样状态的前一状态是〈3〉,〈1,2〉,〈1,3〉,〈1,1,1〉,〈1,1,2〉。这里说明一下〈3〉,指的是最后剩下三个,并且是连在一起的,取中间一个就造成了〈1,1〉的状态。这里每一种状态在往前推都会出现多中情况,但只有给对手造成了〈1,1〉的状态,那才是有绝对取胜的把握。
对于第二种情况——取到最后一枚硬币的输:
为了让自己一定能赢就要给对手造成〈1,1,1〉这种状态。道理和上面相似。