`

微软面试题 海盗分金

阅读更多

问题背景:五个海盗抢到了100颗宝石,每一颗都一样大小和价值连城。他们决定这么分:抽签决定自己的号码(1、2、3、4、5)。首先,由1号提出分配方案,然后大家表决,当且仅当超过半数的人同意时,按照他的方案进行分配,否则将被扔进大海喂鲨鱼如果1号死后,再由2号提出分配方案,然后剩下的4人进行表决,当且仅当超过半数的人同意时,按照他的方案进行分配,否则将被扔入大海喂鲨鱼依此类推
条件:每个海盗都是很聪明的人,都能很理智地做出判断,从而做出选择。
问题:第一个海盗提出怎样的分配方案才能使自己的收益最大化?

 

逆推
  1号 2号 3号 4号 5号
1人         100
2人       0 100
3人     100 0 0
4人   98 0 1 1
5人 97 0 1 2 0
  97 0 1 0 2

 

推理如下:

只有1个人时:5号得100个。

还有2个人时:4号即使提出0 100的分法,5号也可不同意,把4号推下海。

还有3个人时:3号知道4号一定支持自己,提出100 0 0的分法。3和4号同意。

还有4个人时:2号知道3号一定不同意,因为杀了2号,3号可以得100,干脆不给3号了,提出98 0 1 1的分法,这样2号、4号和5号会同意。

那么5个人时:1号怎么分呢?2号肯定不会支持他,因为1死了,2号利益可以最大化,3号,在如果1号死了后1个也得不到,给1个就会支持,4号和5号地位一样只要拉拢一个就行了。

所以最后 97 0 1 2 0 【1号 3号 4号支持】

或者 97 0 1 0 2【1号 3号 5号支持】都行。

 

特点:除了2个人时有点儿特别,其他利益最大化的分法都是将下一个序号的人不分,因为分了也是白分,杀了你,人家利益就最大化了。

 

上面的分方法是说的分发必须要超过半数的人同意,如果是半数的人同意也行呢?

情况如下,方法相同:

 

 

逆推
  1号 2号 3号 4号 5号
1人         -
2人       100 0
3人     99 0 1
4人   99 0 1 0
5人 98 0 1 0 1
           
分享到:
评论

相关推荐

    微软的面试题及答案-超变态但是很经典

    博弈论和策略思考方面的题目,如第1题海盗分宝石问题,实质上是一个递归的决策问题。面试者需要考虑如何在保证自身安全的同时,最大化自己的利益。第2题飞机加油问题则是另一种策略问题,需要考虑如何在有限的条件下...

    微软的面试题及答案 非常好,很难找

    【微软面试题解析】 面试是求职过程中的关键环节,尤其对于技术岗位,面试题往往具有挑战性和创新性。微软作为全球知名的科技公司,其面试题不仅考察候选人的专业技能,还涉及逻辑思维、问题解决和创新能力。以下是...

    Java 微软面试题

    7. **海盗分金币问题**:涉及博弈论,需要分析每个海盗的最优策略。 8. **倒序字符串**:C语言中,可以使用指针操作直接在原字符串上进行翻转。 百度面试题: 1. **字符串倒序**:在C语言中,可以通过指针操作实现...

    微软面试题---微软面试

    这些题目是典型的微软面试题,涵盖了逻辑思维、数学、概率、物理、工程设计等多个领域,旨在测试应聘者的创新能力、问题解决能力和逻辑推理能力。以下是对这些题目的详细解析: 第一组: 1. 计时一小时十五分钟:...

    微软面试题(经典提问)

    ### 微软面试题经典知识点解析 #### 第一组知识点解析 **1. 使用烧绳计时** - **问题描述**:假设有一根不均匀的绳子,从头烧到尾需要1小时。如何利用这种绳子来精确计时1小时15分钟? - **解析**: - 首先,取...

    微软面试15题

    【微软面试题解析】 1. 两两之差绝对值最小的值:此题考察数组处理和最优化问题。可以通过排序数组,然后计算相邻元素之间的差值,找到最小的差值。 2. 字符转整数函数:可以使用C++的`std::stoi`函数,或者自定义...

    微软面试智力题(附答案)

    14. 海盗分宝石:1号海盗提出方案,拿走99颗,其他人都无宝石,因其他人若反对都会被丢弃,所以方案会被通过。 15. 飞机加油问题:至少需要3架飞机,其中两架飞机互相加油,直到一架飞机的油足够返回,另一架则绕...

    微软google面试题

    ### 微软面试题解析 **1. 整数数组中两两之差绝对值最小的值** - **知识点**: 数组处理、排序、比较 - **解析**: 要求解这个问题,首先需要对数组进行排序,然后依次比较相邻元素之间的差值,找到最小的差值即为所...

    一个很好的微软面试题

    对于13个球,类似方法,先分3、3、7,找出含有不同球的组,再分2、2,如果平衡,未称的3个中有一个是不同的,再按上面方法找出。 **第二组** 1. 圆形下水道盖避免滚动,方便操作。 2. 中国汽车数量估算需要官方统计...

    微软、谷歌、百度等公司经典面试100题[第101-170题].pdf

    #### 微软十五道面试题详解 **1. 整数数组两两之差绝对值最小值** - **题目描述**:给定一个整数数组,请求出两两之差绝对值最小的值。 - **解决方案**:可以先对数组进行排序,然后遍历相邻元素,计算它们之间的...

    微软的面试题及答案

    ### 微软面试题解析 #### 第一组 **1. 烧绳计时问题** 题目描述:有若干条材质相同但燃烧不均匀的绳子,如何通过这些绳子组合来精确计时一个小时十五分钟? 解答思路:首先,我们需要了解单根绳子燃烧的特性。...

    求职-微软格式面试题

    ### 求职-微软格式面试题解析 #### 基本题型解析 1. **计时一小时十五分钟** - **题目描述**:假设你有若干条材质相同的绳子,每条绳子从头烧到尾需要1个小时。如何利用这些绳子来精确计时一个小时十五分钟? -...

    微软的面试题及答案.pdf

    1. 海盗分宝石:1号海盗提出99颗给2号,1颗给自己,因为2号若不同意,1号会死,2号成为新的提议者,但那时他只能拿1颗。 2. 飞机加油:至少需要3架飞机,第一架飞机飞到半程给第二架加油,然后返回;第二架继续飞到...

    微软面试题及答案(很需要开放性思维啊)宣贯.pdf

    1. **海盗分宝石**:这是一个经典的博弈论问题,涉及到最大化个人利益的策略。 2. **飞机加油**:需要找出最少的资源分配策略以完成任务。 3. **汽车加油**:路径规划和资源管理,可能需要设计一种策略使得汽车能...

Global site tag (gtag.js) - Google Analytics