传说微软的面试题(海盗分金币)

只是一个经典的题,在世界经理人论坛里,今年年初我做了一个回答,耗时大概20分钟,自认为是正确答案!呵呵!年底了,贴出来纪念一下。

题目:

5个海盗抢得100枚金币后,讨论如何进行公正分配。他们商定的分配原则是: 

     (1)抽签确定各人的分配顺序号码(12345);

   (2)由抽到1号签的海盗提出分配方案,然后5人进行表决,如果方案得到超过半数的人同意,就按照他的方案进行分配,否则就将1号扔进大海喂鲨鱼;

   (3)如果1号被扔进大海,则由2号提出分配方案,然后由剩余的4人进行表决,当且仅当超过半数的人同意时,才会按照他的提案进行分配,否则也将被扔入大海;

   (4)依此类推。

   这里假设每一个海盗都是绝顶聪明而理性,他们都能够进行严密的逻辑推理,并能很理智的判断自身的得失,即能够在保住性命的前提下得到最多的金币。同时还假设每一轮表决后的结果都能顺利得到执行,那么抽到1号的海盗应该提出怎样的分配方案才能使自己既不被扔进海里,又可以得到更多的金币呢?

答案:

回复主题:微软面试题——海盗分金币。

发布时间: 2007-2-12 上午11:40  

97,0,1,2,0或者97,0,1,0,2

通过获利情况倒推:4,5情况下,5能得到全部金币,4没有金币,而且性命有危险,因此4无条件支持3;这样在3,4,5的情况,3的方案一定是100,0,0;这样5肯定没有金币,所以5在最少拿到1枚金币的情况下要阻止3,4,5情况出现,4在最少拿到1枚金币的情况下,也要阻止3,4,5情况,因此在2,3,4,5的时候,2的方案会是98,0,1,1;这样,2一定会阻止1,2,3,4,5的情况,所以1的方案2一定阻止,在2的方案中,3没有金币,因此3在获得1枚金币的情况下,一定会支持1;4,5在获得2枚的情况下一定会支持1,因此1只需要获得3,4,5中的两位支持就可以通过方案,而3只需要1枚,所以分配给3;4,5其中一个人给2枚就可以了,所以结果如上。

参考链接:http://forum.ceconline.com/FORUM_POST_900001_900086_859919_100.HTM

标签:, , ,

你可以通过RSS2.0种子订阅本文的评论. 你可以添加对本文的评论,或者反向连接这篇文章.

评论暂缺


(必填,总得有个称呼吧)
(必填,你知我知,只为有机会交流)