5个强盗分100颗宝石
5个海盗抢到了100颗宝石,每100颗宝石大小相同且价值连城,他们决定这么分:
(1)抽签决定自己的号码(1、2、3、4、5)。
(2)首先,由1号提出分配方案,然后大家5人进行表决,当超过半数的人同意时,按照他的方案进行分配,否则将被扔入大海喂鲨鱼。
(3)1号死后,再由2号提出分配方案,然后大家4人进行表决,当超过半数的人同意时,按照他的提案进行分配,否则将被扔入大海喂鲨鱼。
(4)依此类推。
条件:每个海盗都是很聪明的人,都能够非常理智地判断得失,从而做出选择。并有以下的判断原则:
A:尽量保命。
B:尽量多得宝石。
C:尽量多杀人。
问题:最后的分配结果如何?
1.所涉及的知识点
递推法
分析法
2.分析问题
可用递推法来解决本题,由已知条件层层向下分析,要确保每一步都能准确无误。可能会有几个分支,应本着先易后难的原则,先从简单的分支入手。
如果从五个强盗开始考虑,非常不好入手,可以先考虑简单的情况,即海盗人数较少的情况,然后逐步复杂化,但是原理和简单情况还是相同的。
(1)当仅有二个海盗时,那么无论一号提出什么方案,二号都反对,那么一号肯定喂鱼,二号拿到所有的珠宝。
(2)当有三个海盗时,二号海盗肯定不希望一号海盗死,否则他就成了(1)中的一号。那么这里的一号就会想拿走所有的珠宝,因为他知道二号肯定支持他,因为如果二号反对,那么三号肯定也反对,一号喂鱼的话,那么二号也肯定喂鱼。所以一号拿走所有的珠宝。
(3)当有四个海盗时,一号必须要有三票赞成,而二号海盗肯定是反对的,因为当前的一号死后,他就成了(2)中的一号,所以当前的一号必须给三号海盗和四号海盗一个宝石,所以分配方案为一号98个,二号没有,三号四号各一个。在此不要忘记海盗判断原则C。
(4)当有五个海盗时,那么一号必须要有三票赞成,而根据(3)可知二号肯定反对他,因为他死了二号便成了(3)中的一号,可以拿98个宝石,所以不给二号。可以给三号1个宝石,三号便会支持他,否则三号将成为(3)中的二号,得不到宝石。给四号或五号中的一个两颗宝石,让他多于(3)中所得到的宝石数,另外一个不给,即可获得一个支持者。
3.答案
所以最后的方案为:
1号:97
2号:0
3号:1
4号:0
5号:2
或者:四号:2,五号:0
实现递推的方法的原则,就是由简单到复杂,逐步地深入分析,但是基本的原理却和简单情况非常相似。
转载地址:http://book.51cto.com/art/201003/192013.htm
5个强盗分100颗宝石相关推荐
- 5个海盗分100颗宝石
5个海盗抢到了100颗宝石,每一颗都一样的大小与价值. 他们决定这么分: 1.抽签决定自己的号码(1,2,3,4,5) 2.首先,由1号提出分配方案,然后大家5人进行表决,当且仅当超过半数的人同意时, ...
- 5个海盗怎么分100颗宝石
5个海盗得到一批宝石共100颗,每颗都一样,价值连城,打算分配. @I7.{y, G94:+tE 分配规则: PZjobxHe br!$8BH 抽签决定先后顺序,抽到第一的海盗先提出自 ...
- 智力题:5个强盗分100个金币
本文用递归方法解决一个智力题.题目如下:5个强盗分100个金币,如果第一个人提出的分配方案得到半数以上(含半数)的人同意则执行,否则处死第一个人,再由第二个人提出方案,直到分配完成.第一个人提出怎样的 ...
- 100颗宝石5个海盗怎么分
[题目] 有5个海盗,号码分别是1.2.3.4.5,某天抢到了100枚金币,他们决定按下列原则分赃: (1)由1号提出分配方案,然后剩余的4人表决,当一半或以上的人同意时方案被通过,否则他将被扔入大海 ...
- 五个强盗分金币的问题分析(博弈论)
话说五个强盗抢得100枚金币,他们决定: 1.抽签决定各人的号码(1,2,3,4,5 ):2.由1号提出分配方案,然后5人表决,当且仅当超过半数同意方案被通过,否则他将被扔入大海喂鲨鱼:3.1号死后, ...
- 5个海盗,分100个金币
五位绝顶聪明.勇敢.理智.果断干练的女海盗抢得100枚金币后,讨论如何进行公正分配.他们商定的分配原则是: (1)抽签确定各人的分配顺序号码(1,2,3,4,5): (2)由抽到1号签的女 ...
- 大工计算机基础在线3,大工16秋《计算机应用基础》在线测试3-满分100分.pdf
大工16秋<计算机应用基础>在线测试3-满分100分大工16秋<计算机应用基础>在线测试3-满分100分 大工 16 秋<计算机应用基础>在线测试 3 试卷总分:1 ...
- 笔试真题:100颗糖果,甲乙轮流从糖果盒中取出糖果,每次可取出2、4或6颗,若取得最后糖果的玩家为最终胜者,若甲先取z则(甲获胜,乙获胜,平局,不确定)
笔试真题:100颗糖果,甲乙轮流从糖果盒中取出糖果,每次可取出2.4或6颗,若取得最后糖果的玩家为最终胜者,若甲先取z则(甲获胜,乙获胜,平局,不确定) 解析: 想让甲赢,只需保证最后剩8颗糖(乙取2 ...
- SQLserver----对成绩表、笔试成绩提高5分 100分封顶
语法 update table set 字段1=case when 条件1 then 值1 when 条件2 then 值2 else ...
最新文章
- iOS推送兼容iOS7
- android从放弃到精通 第八天 freedom
- Vue.js组件中v-model的使用
- asp.net 2.0 TreeView 数据绑定(原创)
- 《数据库系统实训》实验报告——游标
- boost::hana模块使用 Hana 实现基本维度分析的示例
- MySQL 存储过程的基本用法
- 两个服务之间的调用请求
- 格力电器成为银隆新能源股东 持股30.47%
- android 文件上传工具类,Android快速开发架构PlanA(五),文件上传下载了解一下...
- 防止HALCON刷新图像窗口控件闪烁
- Java中的Class类
- 51单片机中模拟IIC的代码编写
- 关于struts2通配符不能用
- 电容或电感的电压_用动画来解释电感和电容元件上电压电流超前滞后的关系
- Python爬虫实战——Quora网站文字自动化爬取和正则匹配筛选信息
- 跟着Code走,详解Symbian Client/Server架构
- Android SeekBar控件详解
- Java内存模型(JMM)学习总结
- 阿里云Centos镜像虚拟机安装方法