黑客X档案官方论坛's Archiver

葬云 发表于 2008-8-1 23:25

我也来道微软面试题

5个海盗得到了100G
现在海盗们要分配这100G
5个海盗分别从(A,B,C,D,E)中抽取一个号码(随机)
从A开始按顺序说出分配规则,如果有半数或以上的人同意,则结束。
否则A将被丢到海里喂鲨鱼。依次类推,下来由B说分配规则......

请问:如何分配海盗们才能得到最大利益?

//老规矩30楼发答案

[[i] 本帖最后由 葬云 于 2008-8-2 22:44 编辑 [/i]]

编程小猪 发表于 2008-8-2 01:51

逆向思维,若只剩DE,E肯定反对D,所以D肯定同意C,此时DE都得不到金币;若A死,B只需给DE一人一个金币即可争取二人同意,C得不到金币,因此,A必须拿出3个金币分给C1D2或C1E2争取两个人同意,A可得97金币。

凋零-晴天 发表于 2008-8-2 07:56

妙极了
哈哈哈哈哈

葬云 发表于 2008-8-2 12:21

2楼的  解题思路不错,但是答案不对。::01::

金其 发表于 2008-8-2 20:01

楼主快说答案::08:: ::08:: ::08:: ::08:: ::08::

一夜9次郎 发表于 2008-8-3 12:36

这老套的题```````
好久以前就有的````
  只不过换了个说法而已````

一夜9次郎 发表于 2008-8-3 12:38

在美国,据说20分钟内能回答出这道题的人,平均年薪在8万美金以上。这是一道很有趣的推理题。据统计,在美国20分钟内能回答出这道题的人,平均年薪在8万美金以上。 5个海盗抢到了100颗宝石,每一颗都一样的大小和价值连城。他们决定这么分: 1。抽签决定自己的号码(1,2,3,4,5) 2。首先,由1号提出分配方案,然后大家5人进行表决,当且仅当半数和超过半数的人同意时,按照他的提案进行分配,否则将被扔入大海喂鲨鱼。 3。如果1号死后,再由2号提出分配方案,然后大家4人进行表决,当且仅当半数和超过半数的人同意时,按照他的提案进行分配,否则将被扔入大海喂鲨鱼。 4。以次类推...... 条件: 每个海盗都是很聪明的人,都能很理智的判断得失,从而做出选择。 问题:第一个海盗提出怎样的分配方案才能够使自己的收益最大

抗体 发表于 2008-8-3 13:32

第一个海盗34颗,2,3分别33颗。。。。。。。。4.5没有

regedit 发表于 2008-8-3 14:39

==============================
7楼的问题问的比较明白,楼主问的很含糊啊~!
以下是我解答7楼朋友的问题
==============================
假如现在A提出了方案(B,C,D,E个人表决)
A的方案只要是能满足B,C,D,E其中两个的同意就行了。假如让B,C同意。
之后也就是A,B,C他们三个分配这100的问题了100/3
楼主最大的收益应该就是33或者34

葬云 发表于 2008-8-3 16:56

[quote]原帖由 [i]regedit[/i] 于 2008-8-3 14:39 发表 [url=http://bbs.hackerxfiles.net/redirect.php?goto=findpost&pid=864480&ptid=114180][img]http://bbs.hackerxfiles.net/images/common/back.gif[/img][/url]
==============================
7楼的问题问的比较明白,楼主问的很含糊啊~!
以下是我解答7楼朋友的问题
==============================
假如现在A提出了方案(B,C,D,E个人表决)
A的方案只要是能满足B,C,D,E其中两个的同意就行 ... [/quote]



思路不对,答案不用说了....思路可以参考下2楼

z99liang 发表于 2008-8-3 19:02

A给E一个金B,,其余的全不给,,,,,,,,,,,,,,,

葬云 发表于 2008-8-3 21:13

LS,总共5个人你只给一个人?还有几个人不同意呢?

terror 发表于 2008-8-4 17:03

饿 .................     首先C是不同意AB任何一个的  因为只要他们2个死了 C就可以分配  至于D.E是不可能得到分配权 E是绝对不会同意D的  所以D一定同意C   (C甚至1个G也可以不给D,因为只要C死了 D也一定死)  所以D为了拿金 会同意A或B  A就是关键人物了    因为如果其他海盗  想得到更大利益的话 那么让A死是最好的  A死了 到B        C E  绝对不同意B            回到刚开始A分配  首先C E绝对不会同意A    A要得到2人同意 那么就是BD了  因为只有100G 平均1人20G 所以是至少  而B应该知道A死了 那自己也应该死  所以A只要的、给D大于20G 就可以了                 

饿~~~~~~`  有点忘记思路了  ~~~~~~

aqirui1993 发表于 2008-8-4 19:43

D,E肯定分不到东西,所以100G分3分,为了让B,C满意,B,C必须最多而且一样多,,所以B,C都34,A要32

taotao0487 发表于 2008-8-4 20:21

98 0 1 0 1
按照这样的分配方式,1号能拿最多的钱

心随£缘动 发表于 2008-8-4 20:56

看了大家的思路,给了我一点点提示:(假定他们都是贪心到了极点并知道其余4人的人品)
Ⅰ.D是不可能有说话权的,因为到了D,E是一定不会同意的,那么,D就是A,B,C有偿(看谁给的多)的支持者了.
Ⅱ.C是想要A,B死的人,因为他们2个死了,自己就有权分配,既然D是自己的支持者,那么只用分配1个的G给D就可以了,自己可以得到绝大部分(99).
Ⅲ.B是想A死的人,道理同2,虽然多了个人,但得到了D的支持就有50%,方案可以通过,自己可以得到,因为还有C,为了不让D有更多的猜想,B可以分配2个G给D,这样D当然更愿意支持B.那么B就得到98个G.
Ⅳ.那么在这5个人里面A是最艰难的,因为B=98,C=99,E=100.他们都同样贪婪,只是立场不一样,E是可能得的最多的,也是什么也得不到的几率最大的,上面的很多朋友都分析给B,D.是的,可以这样分配,但是B要>=98,D>=2.那么A就得不到他想要的了,C更不用说,希望只有E,因为E什么都得不到的几率最大,如果A给了E 1个G,E是否就会同意?(到了B,C 2个人根本就不可能分给E),这时D=3,大于B,C分配的值,为什么不支持呢?
A(96),D(3),E(1)
这是比较贪心的分配了...也许上面那位说给E一个,其他的都不给,我觉得我们思路有点近,只是你忽略了D的不稳定性,如果A不给D,D为什么要支持A?还有B和C啊,他会把希望寄托给后面!!!

[[i] 本帖最后由 心随£缘动 于 2008-8-4 21:02 编辑 [/i]]

编程小猪 发表于 2008-8-4 23:23

为什么没人同意我的分法呢?
首先,我们可以确定一点,那就是A一定不会死,对吧。也就是说,像E可以独占全部G以及C的问题那些都是空的,我们知道,BCDE当然也知道,对吧。
16#(就是楼上)的分析很详细,我就以这个说说我的想法。

第一点,我同意。其实,D可以说把全部的100G都给 E ,对吧。这样E可以同意,也可以不同意,对吧。但 D 是不会拿自己的生命开玩笑的,为了保险,他只能同意C。

第二点,C是想AB都死,因为,如果AB都死了,他可以拿全部的100G,因为他知道,如果自己死了,D 基本上死定了,即使他一个G也不给D,D也会同意的,谁能保证E不会斩草除根,D 是不会拿自己生命开玩笑的。有了D的同意,E反对就无效了。
但C也清楚的知道,A 是不可能死的,他肯定能得到两个人的同意,他知道A不是傻子,他们五个人都不是傻子。

第三点,B想要A死,这毫无疑问。想想如果A死后,B如何取得两个人的同意。第二点说到,如果只有CDE三人,那个C完全可以独吐全部的G,而DE两人只能空手而归。所以,B 要收买 C 是不可能的,B 只要给DE两人一人一G,让二人有利可图,二人当然会同意。而B可以占有剩下的 98 G。
而楼上所说,分2G给D,不给E。确实可以取得D的同意,但这时 E 就会想,反正到了C我也得不到,而你给 D 却不给我,我为什么要同意,心理不平,当然弄死你。

第四点,从上面几点可以看出,C 是没有希望的得到的,因为B很容易就把DE收买了。DE是有希望的,B会给他们一个,聪明而贪婪的海盗当然知道B不会给他们更多,当然也不会更少。同时,很明显,A要想收买B是不现实的,就像B不可能收买C一样,所以,A只能考虑收买CDE中的两个人,收买哪两个呢? A 也知道,如果自己死了,B 会给DE一人一G,不会给C,所以A会选择收买 C 和DE中的一个,假如A选择了D。A 知道B不会给C金币,当然C自己也知道,他不是傻子,所以A 给一G给C就可以了。要给多少给D呢?因为A知道B会给一G给D,当然D自己也知道,他同样不是傻子,A 为了保证 D 支持自己,而不支持 B ,就只能选择加价,给 D 两个G,自己留下97G。当然这两G也可给E,道理是一样的。

我一直认为我的思路是正解,但俗话说得好,当局者迷,旁观者清,如果谁发现其中的问题,请说出来,谢谢了。

[[i] 本帖最后由 编程小猪 于 2008-8-4 23:30 编辑 [/i]]

编程小猪 发表于 2008-8-4 23:31

我在网上搜了下,这个问题讨论得很多,但似乎没有谁说谁的是正确答案。但网上的问题说的是要超过半数,不包括半数的。

[[i] 本帖最后由 编程小猪 于 2008-8-4 23:55 编辑 [/i]]

葬云 发表于 2008-8-4 23:32

呵呵~ 看来一开始都进入一个误区!题上说的是 有一半或以上同意  则按照他的方法分配。


假设只剩下 D E 那无论 E是同意或不同意都不重要!  因为2个人只要有1个人同意就算一半,对吗?

按照这个前提......我想大家就应该都会了吧?


忘说了,13楼结果正确::04:: ::04::

心随£缘动 发表于 2008-8-5 16:21

但是13楼的解法,实在是想不通啊,A死了,B就一定要死,这个逻辑就不对,A死了,还有BCDE,同样B还有D支持,难道D想搞死AB让C来垄断自己吗?这样B是有可能能拿大部分G的人,试问,B怎么可能支持A?再问为什么一定要分他们20个以上的G?

页: [1] 2 3


Powered by Discuz! 6.1.0  © 2001-2007 Comsenz Inc.