Interview---一道有趣的推理题
题目描述:
一个岛上有100个人,他们的眼睛只有两种颜色,蓝色和红色。95个人是黑色,其余5人是红色。
他们有个宗教信仰,从不照镜子,所以他们自己不知道自己的眼睛的颜色。但是能看到其他人的眼睛。
他们也不会告诉别人对方的眼睛的颜色。 如果一个人知道自己的眼睛是红色,他会立即在当天晚上自杀。
对于岛民来说,他们并不知道共有多数人具有红色的眼睛。。
某一天岛上来了一个传教士,他不经意间在对所有人说,你们中间有红色的眼睛。
假设,所有人具有超强的推理能力。
问会发生什么??会有人自杀吗??
解答:
用类似于数学归纳法的思想来解题。
1. 假如 100 人中,只有 1 人是红色的眼睛
那么对于他来说,他看到其他所有人都是蓝眼睛,而传教士告诉他红色眼睛是存在的,所以他就是红色眼睛,
第 1 天晚上,他自杀了。
2. 假如有 2 个人具有红色的眼睛
假设是 A 和 B,
A 知道 B 具有红色眼睛,同时他默认自己是蓝色的眼睛。所以推测,B 会在第一天晚上自杀。
B 同样推测 A 会在第一天晚上自杀。
但是第二天,他们发现对方没有死,所以只有一种可能,还有红色的眼睛,那就是自己。
所以第二天晚上,这两人同时自杀。
3. 假如有 3 个人具有红色眼睛
假设是 A, B, C,
A 知道 B, C具有红色眼睛,推测他们会在第二天晚上自杀。但是第三天没有人死,所以只有一种可能,自己的眼睛也是红色的。
所以在第三天晚上,这三人选择了自杀。
。。。。
类似,5个人的情况,他们会在第五天晚上集体自杀。
Interview---一道有趣的推理题的更多相关文章
- 一道有趣的for循环题
一道有趣的for循环题 今天在复习js基础知识时发现了一个for循环的题,第一眼看到直接懵逼了,没想到for循环竟然还可以这样玩?涨姿势了. 题目是这样的 for(i=0, j=0; i<10, ...
- codeforces 1451D,一道有趣的博弈论问题
大家好,欢迎来到codeforces专题. 今天选择的问题是Contest 1451场的D题,这是一道有趣简单的伪博弈论问题,全场通过的人有3203人.难度不太高,依旧以思维为主,坑不多,非常友好. ...
- 洛谷P2918 [USACO08NOV]买干草(一道完全背包模板题)
题目链接 很明显的一道完全背包板子题,做法也很简单,就是要注意 这里你可以买比所需多的干草,只要达到数量就行了 状态转移方程:dp[j]=min(dp[j],dp[j-m[i]]+c[i]) 代码如下 ...
- 又一道区间DP的题 -- P3146 [USACO16OPEN]248
https://www.luogu.org/problemnew/show/P3146 一道区间dp的题,以区间长度为阶段; 但由于要处理相邻的问题,就变得有点麻烦; 最开始想了一个我知道有漏洞的方程 ...
- [真题] 一道 vsftp 运维题
一道 vsftp 运维题 一.前言 在 V 站上凑巧看到了好友发的求助帖,五天时间一个理他的都没有.哈哈哈~ 废话不多说,我们来试试. 二.题目 这里我们假设存在这样的场景: 网络内有普通用户 ade ...
- QDUOJ 一道简单的数据结构题 栈的使用(括号配对)
一道简单的数据结构题 发布时间: 2017年6月3日 18:46 最后更新: 2017年6月3日 18:51 时间限制: 1000ms 内存限制: 128M 描述 如果插入“+”和“1”到 ...
- 一道有趣的golang排错题
很久没写博客了,不得不说go语言爱好者周刊是个宝贝,本来想随便看看打发时间的,没想到一下子给了我久违的灵感. go语言爱好者周刊78期出了一道非常有意思的题目. 我们来看看题目.先给出如下的代码: p ...
- BZOJ2456-mode题解--一道有趣题
题目链接: https://www.lydsy.com/JudgeOnline/problem.php?id=2456 瞎扯 这是今天考的模拟赛T2交互题的一个30分部分分,老师在讲题时提到了这题.考 ...
- Ural 1209. 1, 10, 100, 1000... 一道有趣的题
1209. 1, 10, 100, 1000... Time limit: 1.0 secondMemory limit: 64 MB Let's consider an infinite seque ...
随机推荐
- bootstrap的警告框
.alert 基础警告框 .alert-danger 红色警告框 .alert-dismissable 修饰警告框 alert-dismiss="alert" 触发警告框 // ...
- 小而美的js程序
1.获取数字数组最小值的索引 function _getMinKey(arr) { var a = arr[0]; var b = 0; for (var k in arr) { if (arr[k] ...
- 《javascript高级程序设计》 第25章 新兴的API
25.1 requestAnimationFrame() 25.1.1 早期动画循环 25.1.2 循环间隔的问题 25.1.3 mozRequestAnimation-Frame.webkitReq ...
- 在VS2010中,引用了同一解决方案的另一个项目的dll,却不能正常调用(转)
目前发现的原因是,dll的.net 版本比我的程序的高 dll用的.net 4 而程序用的.net 4 client profile 转载源:http://www.cnblogs.com/szyic ...
- hdu4781 Assignment For Princess(构造)
题目链接:hdu4781 Assignment For Princess 题意:n个点m条边,每条有向边的权值分别是1,2,3…m,一个点能到达任意一个点,没有重边和自环,没有任何两条边的权值相同,任 ...
- 9. shell环境
• printenv –打印部分或所有的环境变量 • set –设置 shell 选项 • export —导出环境变量,让随后执行的程序知道. • alias –创建命令别名 1.shell环境:s ...
- 【堆栈应用一】一个数divided=几个最小质因数的乘积
/******************************************堆栈:一个数divided几个质因数(质因数的乘积为N)***************************** ...
- 用HTML5实现手机摇一摇的功能(转)
在百度开发者大会上我介绍过HTML5另外一个重要特性就是DeviceOrientation,它将底层的方向传感器和运动传感器进行了高级封装,提供了DOM事件的支持.这个特性包括两种事件: 1.devi ...
- css清除浮动的处理方法
根据<精彩绝伦的css> <!DOCTYPE html> <html> <head> <meta charset="utf-8" ...
- JSP生成条形码
下载barcode4j-2.0-bin.zip 目前最新版本是2.0, 解压barcode4j-2.0-bin.zip, 将其中的\lib\avalon-amework-4.2.0.jar和\bui ...