有5个人拾到100个金币,5个想个分金币的办法,写了5个号1,2,3,4,5,
进行抓阄抓到1号的提出分的方案,
如果分的方案有多于一半同意的话,就可以,否则就把1号杀死,
如果你拿到1 号的话,你怎么才能让自己分得最多的金币,
================================
知道 的说说你的思路,看有没有一个最好的最快的算法11

解决方案 »

  1.   

    象henryyj(小熊) 这种人,实在是。
      

  2.   

    5号得5份
    4号得4份
    。。
    自己得1分然后有3个人不同意 就Kill 5号
    ..
    然后 就Kill 4号
    到只剩2、3号大家多一点
      

  3.   

    我基本同意zpan1978(原始社会好)的思路:但如果再加一个条件:他们在不影响自己的利益下,是很乐意看到别人被杀死(这是人之常情):这样zpan1978(原始社会好) 的方案也不行,因为4号不会投1号的票的,因为他没有得到比保3号时更多利益(两次都是0),所以他更乐意杀死1号。
    综上,1号想活命的话,应该的分配方法是100,0,0,1,0
      

  4.   

    回复人: zpan1978(原始社会好) ( ) 信誉:100  2004-06-18 11:01:00  得分: 0  
     
     
       象henryyj(小熊) 这种人,实在是。
      
     
    我咋滴?
      

  5.   

    回复人: aiqikong(艾琦) ( ) 信誉:89  2004-06-18 13:53:00  得分: 0  
     逆推:
    假如,只剩下两个人4和5。 那么4只有把给5,100枚金币,5才会同意,并且自己不会死。
    假如,剩下3、4、5。 3分配自己99枚,4分配1枚,5分配0枚。就会得到4的同意。因为不同意4将一个也得不到。
    假如,剩下2、3、4、5。2分配自己-97枚,3-0枚,4-2枚,5-1枚。将得到同意,理由是如果4、5,不同意将得到更少。
    假如1、2、3、4、5。  1-95枚,2-0枚,3-0枚,4-3枚,5-2枚。将得到4,5和自己的同意,并得到最大的收益。这样不对.因为5存在自己得到100枚的可能性,他永远都会反对的.
    所以我觉得应该是1_95\2_0\3_1\4_3\5_0,这样有自己\3\4同意就行了.
      

  6.   

    大伙谁都不想死,又都想分到金币
    正常分法100/5 一人20个
    自已虽非最多,但也不比谁的少
    不就100金币吗?
    再说杀人是要蹲监狱地
    大伙拿了钱一起搞开发去
    5人一条心给国人开发个操作系统,1号分法得当,其它四人心服,拥他为头
    5个程序员一齐为人民服务
    这样才是党的好儿女
    rem 团结就是力量...这力量是铁,这力量是钢
    rem 此等好事,皆大欢喜,何乐而不为
      

  7.   

    to mulang1024(穆朗), culer(浪客)看清楼主的题目必须要"如果分的方案有多于一半同意的话,"只有二个人的话,5同意也好不同意也好,都不会超过半数而只能达到半数所以结果是98/0/1/0/1
      

  8.   

    呵呵,问题有BUG,原来应该是海盗分金的问题。
      

  9.   

    这个问题,首先,为什么不是每个人都得20呢?因为这时,3、4、5那不是死到临头,凭什么勉强的答应拿到和一个马上可能死的人一样多的钱啊,他死了不就更多,所以他们不会答应,那时,1号就......所以1号必须想其他的办法,如果其他4个中死一个,起码有2或3个站在自己一起(人总是很贪的),于是就能成功。所以他会提出杀了另4个中的一个,杀谁?很明显,自己已经是首当其冲的位子了,杀谁都解不了自己的困,当然是杀一个对自己危害力最大的,所以他就选其他4个中杀伤力最高的人死,然后4  个打一个....然后再从剩下的3 个中选杀伤力最高的.....直到只剩下他和另一个人时,就要有个判断   if(自己的杀伤力>另个人的杀伤力)THEN 杀了他;             ELSE    两个人各得一半好了,(或者自己小得一点,毕竟人家比你强,你得讨好他才行,不然也就被他.....了).于是自己得到100,或者50....
      

  10.   

    哈哈,海盗分金  来了。
    先考虑只有2个海盗的情况(所有其他的海盗都已经被丢
    到海里去喂鱼了)。记他们为P1和P2,其中P2比较凶猛。P2的最佳方
    案当然是:他自己得100枚金币,P1得0枚。投票时他自己的一票就足
    够50%了。往前推一步。现在加一个更凶猛的海盗P3。P1知道--P3知道他知道
    --如果P3的方案被否决了,游戏就会只由P1和P2来继续,而P1就一
    枚金币也得不到。所以P3知道,只要给P1一点点甜头,P1就会同意他
    的方案(当然,如果不给P1一点甜头,反正什么也得不到,P1宁可投
    票让P3去喂鱼)。所以P3的最佳方案是:P1得1枚,P2什么也得不到,
    P3得99枚。P4的情况差不多。他只要得两票就可以了,给P2一枚金币就可以让他
    投票赞同这个方案,因为在接下来P3的方案中P2什么也得不到。P5也
    是相同的推理方法只不过他要说服他的两个同伴,于是他给每一个在
    P4方案中什么也得不到的P1和P3一枚金币,自己留下98枚。依此类推,P10的最佳方案是:他自己得96枚,给每一个在P9方案中什
    么也得不到的P2,P4,P6和P8一枚金币。下面是以上推理的一个表(Y表示同意,N表示反对):P1 P2
    0 100
    N YP1 P2 P3
    1 0 99
    Y N YP1 P2 P3 P4
    0 1 0 99
    N Y N YP1 P2 P3 P4 P5
    1 0 1 0 98
    Y N Y N Y……P1 P2 P3 P4 P5 P6 P7 P8 P9 P10
    0 1 0 1 0 1 0 1 0 96
    N Y N Y N Y N Y N Y
    .......................
      

  11.   

    从后往前推是都认同了的
    i代表人数
    j代表第j个人(j是总人数中的第j个人)
    k代表总人数(总人数>3)(3个人的分法是100 0 0)
    m[j][i]为第j个人在方案[i]时得到的钱数
    方案[i]代表为i个人时,第一个人的方案
    for(i=4;i<=k;i++)
    for(j=k;j>k-i;j--)
    if m[j][i]>m[j][i-1] 
       agree[j];(表示第j个人同意)
    if agree>k/2 and m[1][k]为最大
      

  12.   

    to :Jineral(兰车) 
      题目好象是多于一半才行,并不是到一半就行的吧。
      

  13.   

    逆向思维:
    3个人时:100,0,0
    4个人时:98,0,1,1,,如果B好不给D号E号一个,他们没有得到利益,B号会牺牲。
    所以5个人时,1号一定要得到CDE中的两人支持。保险的做法是97,0,1,2,0或者
    97,0,1,0,2
      

  14.   

    个人觉得CSDN有点过了,其他国内任何论坛还没见过这么严格的过滤。在别的论坛上都能贴的很平常文字,绝对不是政治性的,贴到这里就告诉你:
    请不要发表可能给我们带来伤害的言论,谢谢配合
    我都不知道哪个字眼触犯了csdn?公安网监难道只盯着csdn不管别的论坛吗?
    csdn,别自以为你有这么大的影响力!
      

  15.   

    To :lifes1981(淡蓝的从前)人是经济的人,追求利益最大化,所以你的假设第五个人永远不同意是错误的,很显然如果五号理智点的话,肯定会给他两个就同意的,因为正如你所说的到三号分配的时候五号一个也没有,所以前面的两位如果给五号两个的话五号一定会同意的。