• 海盗分宝石逻辑题目


    问题描述: 
    5个海盗抢到了100颗宝石,每一颗都一样的大小和价值连城。 
      他们决定这么分: 
      1。抽签决定自己的号码(1,2,3,4,5)  
      2。首先,由1号提出分配方案,然后大家5人进行表决,当且仅当超过半数的人同意时,按照他的提案进行分配,否则将被扔入大海喂鲨鱼。  
     3。如果1号死后,再由2号提出分配方案,然后大家4人进行表决,当且仅当超过半数的人同意时,按照他的提案进行分配,否则将被扔入大海喂鲨鱼。 
      4。以次类推。 
       
      条件: 
      每个海盗都是很聪明的人,都能很理智的判断得失,从而做出选择。 
       
      问题: 
      第一个海盗提出怎样的分配方案才能够使自己的收益最大化?
    设五个人分别是A、B、C、D、E,A首先来分
    用倒推的方法
    1 D来分配,一定不会得到E的同意,因为只要E不同意,同意的票数就不会超过50%,然后D喂鲨鱼,E独享100颗,所以D一定不希望自己来分。D分配意味着喂鲨鱼的结局。
    2 C来分配,D一定会同意,所以不用分给D和E。因为D如果不同意,E一定不同意,C被喂给鲨鱼,这样又出现第一种情况了。保命要紧,D宁可不要钻石了。故C分配时可以得到全部100颗。
    3 B来分配,C不会同意,因为把B喂鲨鱼后回到第二种情况C会独占,所以B必须得到D、E的同意,只要分给D一个,E一个,D和E就会同意,若D和E不同意,则由C分配时一个也得不到。所以B分配时可以得到98颗,D得到一颗,E得到一颗,C0颗。
    4 A来进行分配,B一定不会同意,因为不可能给B98颗以上,所以要得到C、D或者C、E的同意,可以给C一个,D两个,让C、E同意;也可以给C一个E两个,来让C、E同意
    
    故最终A的分配结果是
       A97 C1 D2
    或 A97 C1 E2
    
    不知道对不对,大家讨论一下吧
  • 相关阅读:
    Storm中的定时任务
    Storm的acker确认机制
    ORACLE数据库表解锁record is locked by another user
    Java生成某段时间内的随机时间
    Linux中断概述
    Linux内核同步:RCU
    Linux内核同步:自旋锁
    Linux软中断、tasklet和工作队列
    Linux信号机制
    缺页异常处理
  • 原文地址:https://www.cnblogs.com/allenzhaox/p/3201841.html
Copyright © 2020-2023  润新知