| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 2598 人关注过本帖
标题:[求助]海盗分金问题
只看楼主 加入收藏
zhanghuan_10
Rank: 1
等 级:新手上路
威 望:2
帖 子:751
专家分:0
注 册:2006-10-25
收藏
得分:0 
明白了!多谢了!

该学习了。。。
2006-12-13 19:09
剑风曲
Rank: 1
等 级:新手上路
帖 子:69
专家分:0
注 册:2006-11-16
收藏
得分:0 
题目很有意思,但是从我个人角度来看,需要考虑的问题还有很多.
既然海盗都很聪明,则以下结论不成立:
1.当海盗总数少于200时,并非只有按照楼主的方案来分才可以.(虽然这样分有助于理解问题).
2.楼主关于200以后的解释,在我看来,显然也是有许多问题存在的.
3.明白我的解释时,将会了解到,当海盗数大于某一定值时.分钱的海盗,又将可以拿到大量的金币.
下面我开始解释我的见解:
1.当海盗总数少于200时.(假设一共k个海盗).那么海盗k只需要把钱分给除了k-1和自己以外的k-2个海盗当中的一半人(即(k-2)/2)一个金币即可.(当k-2为奇数时,需要分给(k-1)/2个海盗金币);分到金币的这些海盗知道,即使是让k-1号海盗分,自己也只能分到至多1个金币(甚至可能一个都分不到.)所以他们将对已经到手的1个金币感到满足,于是投赞成票.所以k凑足了半数的票.
2.如果你觉得我的1.解释得是正确的话,那么很容易理解2这个问题.当海盗等于201时,在我认为的分发,应该是海盗自己能拿到1枚硬币.分析,假设201的方案不通过.则由200来分.由1可知,这时候199是拿不到金子的.所以,对于201的方案,199应该是无条件赞成的,因为无论如何,他是拿不到金子的.(这里考虑的是,海盗对于没有好处的事,是不会杀人的.如果考虑到海盗对于没有好处的事也会杀人,则是另外一种情况了,相对来上,那种情况还要比这种情况简单的多.)所以.201可以只分给除200和199外的198个人99个金币,自己得到一个.以此推论,每增加2个人,分金币的海盗可以多拿到1个金币.
3.其实3的问题,我已经在2的见解中写了.现在我们再来分析一下当人数很多的时候的情况(以500为例).500个人的时候,应该说,分金币的人可以拿到全部的100个金币.因为对于201到498的海盗来说,500死掉对于自己没好处.已经超过半数.(499希望500死,自己可以拿钱.而200以前的海盗,可以说对自己的安全很有保障,如果人数死亡达到200个以下的时候,他们就有机会分更多的钱了,所以他们将会投反对票,除非500号海盗分金币给他们.而且,如果你只分给他们当中的一部分人金币,那么另外没分到金币的人肯定会头反对票,因为那些人认为,如果再分一次的话,他们就有一定的几率得到金币.)


以上大概阐述了我对这个问题的一些看法,这些看法基于一个假设:海盗对于没有好处的事,是不会杀人的.
如果一定要把海盗定义成噬杀的性格的话,会是另外一番解释.我在这里可以粗略的估计,噬杀的海盗,到达一定数的时候,分钱的海盗也可以拿到全部的金币,因为有一些海盗开始担心自身的安危从而都投了赞成票.至于更细致的分析,我就不再讲了-------------实在没力气打字了,晚饭还没吃呢~~夜宵去了.
2006-12-13 23:46
快速回复:[求助]海盗分金问题
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.034064 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved