面试题2之------海盗分金币问题

在加勒比海上,有五个海盗,这些海盗都是十分聪明且贪婪的,他们共同抢到了100枚金币, 每一个人按顺序依次提出自己的分配方案,如果提出的方案没有获得半数或半数以上的人的同意,则这个提出方案的人就被扔到海里喂鲨鱼,那么第一个提出方案的人要怎么做,才能使自己的利益最大化?

这个问题主要使用到了化繁为简的思维方式,在上述题目中,五个人分金币的情况似乎有一些复杂,我们简化一下:
假使前三个人都因为分配金币的方式不合理而被扔下大海,此时还剩下两个人,也就是4号和5号,那么问题就简单了:


4号和5号分金币的情况:
    4号提出方案,自己一定会同意的,并且只要自己同意,这个方案就已经获得了半数的支持,就可以被实施
    因此,无论5号是否同意4号提出的方案,都不会对最终的结果造成影响,因此,4号一定会要100枚金币,以使自己的利益最大化。

    结果就变成了这样:


        4号        5号
        100        0


    
现在我们多添加一个人,
3号,4号和5号分金币的情况:
    3号要使自己的提议获得半数的支持就必须再拉拢一个人,拉拢4号显然是不合适的,4号一定不会同意,4号知道,只要搞死了3号,
    剩下的100枚金币都是自己的,(就像上面4号和5号分金币的情况)拉拢5号是合适的,因为5号之前得不到金币,现在只要3号给5号一个
    金币就能够获得5号的支持,因为5号也知道,如果3号死亡,自己一定一枚金币都得不到,
    情况就变成了这样:
 

        3号        4号        5号
        99          0         1

现在我们再多添加一个人:
2号,3号,4号和5号分金币的情况:
    2号要使自己的提议获得半数的支持也必须再拉拢一个人,拉拢3号显示是不合适的,3号一定不会同意,3号知道,只要搞死了2号,
    有99枚金币都是自己的,(就像上面3号,4号和5号分金币的情况), 拉拢5号貌似是可以的,他已经有一个金币了,要让他支持自己
    只要再多给他一个金币就可以了,拉拢4号也是可以的,4号现在没有金币,只要给他一个就可以让他自持自己的提案,综上所述,要让自己
    利益最大化,就需要拉拢4号,因为只要给4号一个金币即可:
    情况就变成了这样:

        2号        3号        4号        5号
        99         0          1          0


    
最后我们再多添加一个人这道题目的答案就出来了:
1号,2号,3号,4号和5号分金币的情况:
    1号要使自己的提议获得半数的支持必须拉拢两个人,拉拢2号显示是不合适的,2号一定不会同意,2号知道,只要搞死了1号,
    有99枚金币都是自己的,(就像上面2号,3号,4号和5号分金币的情况), 拉拢4号貌似是可以的,他已经有一个金币了,要让他支持自己
    需要再给他一个金币才可以,这样做并不能让自己的利益最大化, 拉拢3号是可以的,3号现在没有金币,只要给他一个就可以让他自持自己的提案,
    5号跟3号情况一至,同样没有金币,只要给他一个就可以了,综上所述,要让自己
    利益最大化,就需要拉拢3号跟5号,因为拉拢他们两个只需要各自给一个金币即可:
    情况就变成了这样:

        1号        2号        3号        4号        5号
        98         0          1          0          1


        
那么问题到这里就已经全部解决完毕了,我们当然也可以思考一下,如果提出的方案必须半数以上的人的同意的话,这道题的结果会产生什么样的变化,以便于更好的理解这种题的思路。

最后祝每一个看到的人都开心,快乐!

猜你喜欢

转载自blog.csdn.net/James_Nan/article/details/97678675