四个海盗从海上抢到100枚金币之后,来到一个偏僻的海岛商量如何分这些金币。他们最后达成一致的方案是这样的:首先所有人通过掷骰子的方式确定一个次序,然后第一个人提出一个分金币方案,大家再对这个方案进行表决。如果同意这个方案的人占多数,那么就按照这个方案分金币;否则就把第一个人扔到大海里,然后再让第二个人提方案。同样,如果剩下的人中同意该方案的人比反对的人多,就按照该方案分金币;否则就把第二个人扔到大海里,...,以此类推。我们的问题是:第一个人会提出什么样的分金币方案?
答案
第一个人提出的方案是:第一个人至第四个人分别得到金币98、0、1、1。
说明
解决这个问题的思路是先考虑人数少的时候的情形,然后再考虑人数多的时候该怎么办。如果只有两个海盗,显然,无论第一个海盗提出什么样的方案,第二个人都不会同意,从而达到杀死第一个人再获得所有金币的目的。
假设有3个海盗A、B、C。其中第一个海盗A就会想:“如果我死了,剩下两个人,B必死无疑。所以B为了保命,无论我提出什么方案他都会答应”。所以A提出的方案是100、0、0。
现在考虑有4个海盗A、B、C、D的情况。A的心理活动是这样的:“如果我死了,剩下3个人,则B无论提什么方案都会最终获得通过,所以无论我提出什么方案B都会反对。但是如果我死了,B只会提出100、0、0的方案,C和D是不会获得一块金币的。所以,我只需让他们尝到一点甜头就行了!”于是,A最终提出的方案是98、0、1、1。
延伸思考
能够编写一个程序求出上述解?