巴什博奕

来源:互联网 发布:js实现div左右滑动 编辑:程序博客网 时间:2024/05/19 08:05

最近看了一些取物的问题,甚是有趣,整理一下,这里先说说巴什博奕。

首先,简单介绍一下什么是巴什博奕:有一堆物品(可以广泛理解成任何可计数的东西),n个,有两个玩家,每个人按照最好的方式依次从这堆物品中取东西,至少1个最多m个。将东西取完的哪一个人获胜。


过程很简单,也很容易看出来,如果n=m+1,那么第一个人根本不可能赢得这个游戏。

如果第一个人想赢,那么他肯定希望在自己取完之后,让第二个人面对n=m+1的局面。由此,我们能得到法则:如果n=(m+1)+t,在这里0<t<=m且为自然数,那么第一个人一定能赢得胜利。


更一般的情况,我们将自然数n写成如下的表达式n=(m+1)*w+t,w也是自然数。

如果t=0,简单的说,第一个人无论取多少,第二个人都能把剩下的物品的数目变成(m+1)*e,0<=e<w且为自然数。主动权仍然在第二个人手中。同之前说的,第一个人要赢,必须保证存在这么一个t,使得0<t<=m。


最后,得出结论:只有当 n=(m+1)*w+t 时,且0<t<=m且为自然数,w是自然数,第一个人能取得游戏胜利。

1 0
原创粉丝点击