智力题----囚犯猜帽子问题

  • 题目
  • 最佳解决方法
  • 思路
    • 现在开始游戏:
  • 总结

最近在刷牛客网的题目,偶然看到这到题,发现提供的答案对于最佳解决方法说的比较模糊,所以就在这里详细的讲一下最佳解决方法到底是怎样实现的,当作自己的一个小笔记。

题目

100个囚犯从前往后坐成一列。坐在最后面的那个囚犯能够看到其余99个囚犯,坐在最前面的 那个囚犯啥也看不见。看守给每个囚犯戴上一顶黑色的或者白色的帽子。然后,看守会从后往前依 次叫这些囚犯猜测自己头顶上的帽子的颜色。如果哪个囚犯猜对了,他就自由了。坐在前面的每一 个囚犯都可以听到后面的囚犯的猜测。如果这100个囚犯事先可以商量好一种策略,那么最理想的策 略是什么?

最佳解决方法

100个囚犯或99个囚犯获得自由,也就是除了坐在最后的那个囚犯靠运气之外,其他的囚犯全部获得自由

思路

举个栗子,帽子分别如下:(为了方便解释,假设只有5个囚犯)

囚犯从前往后排序 帽子颜色
1 白帽子
2 白帽子
3 黑帽子
4 黑帽子
5 黑帽子

现在,定下这样两个规则:
① 最后一名囚犯计算前面所有黑帽子的个数,如果是奇数个,就猜黑,如果是偶数个,就猜白。
② 除了最后一名囚犯,其他囚犯全部优先自己跑路。

现在开始游戏:

第五位囚犯:
计算前面所有黑帽子的个数,如果是奇数个,就猜黑,如果是偶数个,就猜白。

囚犯从前往后排序 帽子颜色 计算前面黑帽子个数 黑帽子帽子奇偶 猜帽子 是否正确
1 白帽子
2 白帽子
3 黑帽子
4 黑帽子
5 黑帽子 2 偶数 猜白色 实际情况未知

第四位囚犯:
计算前面所有黑帽子的个数,发现是奇数个,但是第五位囚犯给出的是白,根据第一条自定义规则得知第五位囚犯前面有偶数个黑帽子,所以自己是黑帽子,遵守自定义的第二条规则(优先自己跑路),所以猜黑色。

囚犯从前往后排序 帽子颜色 计算前面黑帽子个数 黑帽子帽子奇偶 猜帽子 是否正确
1 白帽子
2 白帽子
3 黑帽子
4 黑帽子 1 奇数 猜黑色 正确
5 黑帽子 2 偶数 猜白色 实际情况未知

第三位囚犯:
计算前面所有黑帽子的个数,发现自己前面是偶数个黑帽子;第五位囚犯最后猜的是白色,根据第一条自定义规则得知第五位囚犯前面有偶数个黑帽子;因为能听到后面所有人的猜测,知道第四位囚犯猜黑色,根据第二条优先跑路规则得知第四位囚犯是黑帽子。
总结:
第五位囚犯前面偶数个黑帽子,
第四位囚犯自己就是黑帽子,偶数减一是奇数,也就是第四位囚犯前面是奇数个黑帽子;
第三位囚犯现在数出自己前面有偶数个黑帽子,所以自己就是黑帽子,根据优先跑路原则猜黑色。

囚犯从前往后排序 帽子颜色 计算前面黑帽子个数 黑帽子帽子奇偶 猜帽子 是否正确
1 白帽子
2 白帽子
3 黑帽子 0 偶数 猜黑色 正确
4 黑帽子 1 奇数 猜黑色 正确
5 黑帽子 2 偶数 猜白色 实际情况未知

第二位囚犯:
同理,第五位囚犯前面有偶数个黑帽子。
第三和第四个囚犯都是黑帽子,偶数减去2还是偶数,也就是第二位囚犯前面加上他自己一共应该有偶数个黑帽子。
现在自己数出来的黑帽子个数也是偶数的,说明自己不是黑帽子,所以猜白色。

囚犯从前往后排序 帽子颜色 计算前面黑帽子个数 黑帽子帽子奇偶 猜帽子 是否正确
1 白帽子
2 白帽子 0 偶数 猜白色 正确
3 黑帽子 0 偶数 猜黑色 正确
4 黑帽子 1 奇数 猜黑色 正确
5 黑帽子 2 偶数 猜白色 实际情况未知

总结

根据上面的思路可以得知,只要定下
① 最后一名囚犯计算前面所有黑帽子的个数,如果是奇数个,就猜黑,如果是偶数个,就猜白。
② 除了最后一名囚犯,其他囚犯全部优先自己跑路。
这样两条规则,就能保证前面99个囚犯都能猜对自己帽子的颜色,而对于最后一位囚犯来说,全靠运气了。

智力题----囚犯猜帽子问题相关推荐

  1. 趣题:猜帽子游戏与Hamming编码

    三个人坐成一个圆圈,每个人头上戴着一顶黑色的或者白色的帽子.每个人都只能看到另外两个人头上的帽子颜色.现在,他们需要独立地猜测自己头上的帽子颜色.每个人都需要在自己的小纸条上写下"黑色&qu ...

  2. java智力题扑克牌_数学智力题:猜扑克牌

    新东方小学生资料下载 姓名 手机号 短信验证码 图片验证码 年级 请选择 学前 一年级 二年级 三年级 四年级 五年级 六年级 行政区 请选择 请选择 请选择 {"name":{& ...

  3. 经典智力题:猜牌问题

    问题描述: S先生.P先生.Q先生他们知道桌子的抽屉里有16张扑克牌:红桃A.Q.4 黑桃J.8.4.2.7.3 草花K.Q.5.4.6 方块A.5.约翰教授从这16张牌中挑出一张牌来,并把这张牌的点 ...

  4. java蚂蚁智力题,智力题大全_附答案

    智力题大全_附答案 智力题大全 2008年06月14日 星期六 10:20 虽然把这类题目归为一个大类,但他们本身之间却绝少相同之处.每个题目都需要你打破 思维的常规来回答.稍有不慎,就可能落入圈套. ...

  5. 软件测试常见的智力题

    智力题1(海盗分金币)- - 在美国,据说20分钟内能回答出这道题的人,平均年薪在8万美金以上. 海盗分金币 5个海盗抢得100枚金币后,讨论如何进行公正分配.他们商定的分配原则是:  (1)抽签确定 ...

  6. 程序员面试逻辑推理智力题

    第1-8 题: 请从理论上或逻辑的角度在后面的空格中填入后续字母或数字: 1. A, D, G, J 2. 1, 3, 6, 10 3. 1, 1, 2, 3, 5 4. 21, 20, 18, 15 ...

  7. 程序员面试趣味智力题

    趣味智力题 虽然把这类题目归为一个大类,但他们本身之间却绝少相同之处.每个题目都需要你打破思维的常规来回答.稍有不慎,就可能落入圈套. 例题1:你让工人为你工作7天,给工人的回报是一根金条.金条平分成 ...

  8. 智力风暴(经典智力题)

    智力题1(海盗分金币)--海盗分金币 5个海盗抢得100枚金币后,讨论如何进行公正分配.他们商定的分配原则是: (1)抽签确定各人的分配顺序号码(1,2,3,4,5): (2)由抽到1号签的海盗提出分 ...

  9. python解答蓝桥杯真题2 猜年龄 美国数学家维纳(N.Wiener)智力早熟,11岁就上了大学。他曾在19351936年应邀来中国清华大学讲学。。。

    python解答蓝桥杯真题2 猜年龄 美国数学家维纳(N.Wiener)智力早熟,11岁就上了大学.他曾在1935~1936年应邀来中国清华大学讲学... 问题描述 全排列模板: 美国数学家维纳(N. ...

  10. [从菜鸟到高手演变]之智力题【史上最全】 (转)

    原文地址:http://blog.csdn.net/zhangerqing/article/details/8138296 PS:在一次偶然的机会中,发现了这篇文章.希望大家能开动脑经. 智力题,每个 ...

最新文章

  1. 为asa防火墙配置ssh登陆
  2. 决策树 随机森林 xgboost_决策树算法之随机森林
  3. 文本分类入门(五)训练Part 2
  4. 最早单机的计算机操作系统,川农《计算机操作系统(本科)》19年12月在线作业【满分答案】...
  5. CORS跨域时axios无法获取服务器自定义的header信息 - 番外篇
  6. Linux之DHCP服务及配置
  7. Repeater 中如何绑定计算列的值
  8. webpack(一)
  9. C#中的换行符、回车
  10. 我对“硬盘分区”的愚见
  11. ubuntu linux 从入门到精通.pdf,UBUNTU LINUX从入门到精通(附DVD)
  12. 组策略设置计算机计划任务,使用组策略配置域中任务计划
  13. 如何使用word删除签名图片背景
  14. [译]第一章:什么是管理
  15. “茄汁Ketchup”一词从汉语到英语的文化旅游
  16. Effective C++改善程序与设计的55个具体的做法
  17. 年度成绩大赏|2021,StreamNative 扬帆起航
  18. LiveData 机制详解
  19. iOS直播APP—原理篇
  20. 一图了解群、交换群、环、交换环、整环、域的区别与联系

热门文章

  1. app逆向案例分析-极速抖音
  2. 美团前期运营模式(怎么吸引商家入驻?怎么吸引用户?)
  3. Unexpected console statement
  4. mysql 美元符号_坑爹的PostgreSQL的美元符号(有时需要替换成单引号)
  5. codeforces 592D(树DP)
  6. 信息安全-网络安全风险评估技术原理与应用(二)
  7. MES生产管理系统中,看板管理究竟是什么
  8. 入门易精通难的Unity要如何学
  9. Python连接MySQL数据库
  10. 《深度易经·deepin-bible》草稿汇