玩一个21点的游戏。有21个硬币,游戏双方每次至少拿1枚,至多拿3枚,拿到最后一枚硬币的人为输。那么这个游戏该怎么玩你才能永远成为赢家呢?首先,提出一个雷区的概念。把所有硬币排个号,第一次被拿到就是1号,一直到21号。那么从后往前来看这个问题的话,21就是一个雷区。再往上推,能发现21-4=17号是一个雷区。因为如果你拿到17号话,只要对方拿3点,你必定会拿到21号,你就输了,game over。同理,13、9、5、1都是雷区。也就是说,这个游戏呢谁先开始谁就会输,只要第二人足够理性不是白痴,那么他总可以想出办法让第一个人一直在踏雷区,赢得最终的胜利。把这个问题拓展一下。假如总共有N个硬币。游戏规则也变化一下,游戏双方每次至少拿a个,至多拿b个(b>a) 。如果a>1的话情况会很复杂,这里不作分析。我们分析a=1的情况。从上面的21点可以看出,雷区的号码是从最后一个数字21开始,以4为公差向前递推的,一直推到第一个雷区号码1。那为什么是以4为公差呢?可以很清楚地看到,1+3=4,就是每次可以拿币数量的最小值和最大值之和。那最后一个号码是雷区这是确定无疑的,那怎么确定第一个雷区号码呢?猜想一下,21/4=5余1。这第一个雷区号码就是这个余数。第一个雷区所在位置也决定了游戏中谁先谁后的问题。现在我们来做个归纳。考虑N个硬币的情况。有以下几个问题是要解决的:1. 谁先开始?如果N/(1+b)的余数为1,则由对方开始,余数为其他的,则由我方开始。2. 该按照怎样的策略拿币?按照第一个问题的结果,如果是对方开始,他拿了c个币(c在1和3之间) ,那么我方每次拿币的数量就是b-c。如果是我方开始,那么第一次我方应拿余数减1个币。接下来的步骤同上。假如(只能是假如了)对方不知道这个策略,而你知道,只要你有权利确定谁先谁后,那么这个游戏中你必定会是赢家。除非你一下子脑袋发昏,走错了一步。哈哈,当然,能这么理性地分析问题的人肯定不只你一个啦。不过回家过年哄哄家人还是蛮有意思的。


雷达卡




京公网安备 11010802022788号







