2024年5月1日发(作者:)

一局游戏在两个游戏人之间如下交替进行:游戏从一空堆开始。当轮到一个游戏人时,他

可以往堆中加进1,2,3或4枚硬币。往堆中加进第100枚硬币的游戏人为得胜者。确定

在这局游戏中是游戏人A还是游戏人B能够确保取胜。取胜的策略是什么?

在学术论坛有

博士家园,组合图论论坛

确保取足5个硬币即可

例题:两个人玩移火柴的游戏,桌子上有1000根火柴,每个人每次可以拿走1-7根火柴,

拿走桌子上最后那根火柴的算输,问第一个人第一次要拿多少根火柴才能保证赢

7根。以后对方拿几根,你都要拿够凑足8根的数。1000根和8根性质是一样的。

从抢30到NIM游戏的取胜策略

(一)倒推法

抢30是我国民间的一个两人游戏,具有很强的对抗性和娱乐性。抢30游

戏通常有两种玩法。

(1)两人从1开始轮流报数,每人每次可报一个数或两个连续的数,谁先

报到30,谁就为胜方。

(2)两人从1开始轮流报数,每人每次可报一个数或两个连续的数,同时

把两个人报出的所有数累加,谁先使这个累加数最先达到30,谁就为胜方。

解决最个问题的一般策略是用倒推法。

以(1)为例,要抢到30,必须抢到27;要抢到27,必须抢到24。如此倒

推回去,可得到一系列关键数30、27、24、21、18、……9、6、3。

根据以上分析,抢30游戏本身并不是一个公平的游戏,初始数和先后顺序

已经决定了最后的结果,因为只有后报数者才能抢到3的倍数,后报数者有必

胜策略。

(二)关键因子

所有这些关键数都是3的倍数。3是两个报数者年内能够报出的最大数与最

小数的和。在类似游戏中,我们把游戏者所能用到的最大数和最小数之和称之

为关键因子k,关键数就是k的倍数.。在抢30的游戏中,关键因子k等于3。

又例如,抢100报数游戏中,如果每人可报数为1至9个连续的自然数,

谁先报到100谁就是胜利者。这里的关键因子k就是可报最大数9和可报最小

数1的和,即k=10。

报数获胜的策略就是:(1)让对方先报数;(2)

每次报数为关键因子

减去对方所报数。这样自己每次所报数都是关键数。

如果对方一定要先报,你只能期待对方不懂策略或者大意出错了。

(三)不平衡因子

在上述的抢30或者抢100的游戏中,最后数30是关键因子3的整数倍,

最后数100是关键因子10的整数倍。我们可以把这样的游戏称为平衡游戏,也

就是最后报数与关键因子相除余数为0。如果最后报数与关键因子相除有余数,

这个游戏就可以称为不平衡游戏,其余数就是不平衡因子。

抢数不平衡游戏也是不公平的游戏,先报数者有必胜策略。先报数者的获

胜策略就是先消除不平衡因子,使其变成一个平衡游戏,先报数者随后就成为

平衡游戏的后报数者。

例如,在抢30游戏中,两人从1开始轮流报数,每人每次可报1到3个连

续的数,谁先报到30,谁就为胜方。在这里,关键因子是4,不平衡因子是

2。

又例如,抢100报数游戏中,如果每人可报数为1至10个连续的自然数,

谁先报到100谁就是胜利者。在这里,关键因子是11,不平衡因子是1。

在不平衡游戏中,如果先报数者不懂得游戏策略,懂得这个策略的后报数

者需要不断计算不平衡因子,以便最后获胜。

(四)更多例子

报数游戏里的最后数都是些比较小的数,因此用倒推法比较容易得到策略。

当我们把数变得大一些的时候,就变成了小学奥赛题。如果掌握上述讨论中的

关键因子和不平衡因子的计算,奥数题也变得迎刃而解了。

下面就是两个奥数例题。

(1)2008个空格子排成一排,第一格放有一个棋子。两人做游戏,轮流移

动这枚棋子。每个人每次可前移1到5个格子,谁先把棋子移到最后一格,谁

就是获胜者。问怎样的策略才能保证获胜。

(2)桌上放着一堆火柴,共有5000根。两个人轮流从中取火柴,每人每

次取的火柴根数为1到8根,谁取了最后一根谁就输。问怎样的策略才能保证

获胜。

(五)进一步扩展到NIM游戏