博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
[CareerCup] 6.4 Blue Eyes People on Island 岛上的蓝眼人
阅读量:6450 次
发布时间:2019-06-23

本文共 1287 字,大约阅读时间需要 4 分钟。

6.4 A bunch of people are living on an island, when a visitor comes with a strange order: all blue-eyed people must leave the island as soon as possible. There will be a flight out at 8:00pm every evening. Each person can see everyone else's eye color, but they do not know their own (nor is anyone allowed to tell them). Additionally, they do not know how many people have blue eyes, although they do know that at least one person does. How many days will it take the blue-eyed people to leave?

这道题假定一个岛上有很多人,其中有些人是蓝眼睛的,设定是蓝眼睛的人要尽可能早的离开岛,每天晚上八点都有飞机离开岛。每个人可以看见别人眼睛的颜色,但是不知道自己眼睛的颜色,而且也不能被告知,问需要多少天可以让蓝眼睛人都离开。

这道题让我想起来了很小时候听过的一道智力题,是小猴带帽的问题,说是有四个帽子,三个蓝色一个红色的,有三只小猴一人戴其中一个帽子,每只小猴不知道自己戴的什么颜色的帽子,但能看到其他小猴戴的帽子的颜色。其中一只小猴看到其他两只小猴都是蓝色的帽子,它就在考虑自己的到底是红色的还是蓝色的,当它发现大家都陷入了沉思时,它马上说自己戴的是蓝色的,请问问什么?我小时候想了很久都不明白,其实很简单,如果这小猴戴的是红色的帽子,那么其他小猴马上就知道自己戴的是蓝色的,因为只有一顶红色的帽子,既然其他小猴也不知道,那么自己戴的肯定是蓝色的。

这道题的思路和上面的小猴戴帽有些类似,我们先从简单的开始分析,假设岛上有c个人是蓝眼睛:

1. c = 1, 这种情况最简单,应为那个人看到周围都没有蓝眼睛,由于题目设定了一定有蓝眼睛,那么自己肯定是,所以当晚就可以坐飞机离开。

2. c = 2,这时候蓝眼睛的人可以看到周围有一个人是蓝眼睛,那么他可以推断岛上只有1个或2个蓝眼睛人,如果那人第一晚,没走,他就可以推断出自己也是蓝眼睛,于是两个蓝眼睛的人第二晚同时走了。

3. c = 3,和上面类似,蓝眼睛的人可以看到周围有两个蓝眼睛,则推断岛上有2个或3个蓝眼睛人,如果只有两个蓝眼睛,那么他两第二天晚上就会同时离开,如果第二晚没有离开,则说明自己也是蓝眼睛,则三人第三晚上同时离开。

4. c = c, 推广到c个人,根据如上分析,c个蓝眼睛的人会等到第c天晚上,所有c个蓝眼睛的人同时离开。

本文转自博客园Grandyang的博客,原文链接:,如需转载请自行联系原博主。

你可能感兴趣的文章
excel使用颜色标记特定时间差值单元格
查看>>
023.积木与编程
查看>>
UICollectionView的注册
查看>>
发布Ext JS 5.1 beta版本
查看>>
PHP7.3发布啦
查看>>
(摘)Excel 2007查询操作中的函数应用
查看>>
“未处理DbEntityValidationException”,"对一个或多个实体的验证失败。有关详细信息,请参见“EntityValidationErrors”属性"。...
查看>>
天气驱动行业销售大数据(转)
查看>>
发现保存GIF格式后相素发生变化咋办
查看>>
CorelDRAW中如何分布对象
查看>>
(\w+)\s*, \s*(\w+)
查看>>
2018.2.20 寒假作业 A - Multiplication Puzzle
查看>>
作业控制
查看>>
利用ansible批量部署zabbix-agent
查看>>
B2c商城图片尺寸设定研究 尺寸应该多大合适
查看>>
成功面试
查看>>
linux复制、移动覆盖文件不提示
查看>>
spring注解使用介绍
查看>>
zabbix分布式监控4(2.4)
查看>>
柏林噪声产生火焰等纹理
查看>>