蓝眼岛之谜

问题 当前位置一群人住在一座岛上,当一位来访者带着一个奇怪的命令来时:所有蓝眼睛的人必须尽快离开这个岛。每天晚上8点有班机起飞。每个人都可以看到其他人的眼睛颜色,但他们不知道自己的眼睛颜色(也不允许任何人告诉他们)。此外,他们不知道有多少人有蓝眼睛,尽管他们知道至少有一个人有蓝眼睛。蓝眼睛的人需要多少天才能离开?

null

解决方案: 假设岛上有n个人,其中c个有蓝眼睛。我们被明确告知c>0。

案例c=1:只有一个人有蓝眼睛 蓝眼睛的人应该环顾四周,意识到没有其他人有蓝眼睛。既然他知道至少有一个人有蓝眼睛,他就必须断定是他有蓝眼睛。因此,他将乘坐当晚的航班。

案例c=2:正好有两个人有蓝眼睛 这两个蓝眼睛的人看到了对方,但不确定c是1还是2。他们从之前的案例中知道,如果c=1,蓝眼睛的人会在第一天晚上离开。因此,如果另一个蓝眼睛的人仍然在那里,他必须推断c=2,这意味着他自己也有蓝眼睛。两人都会在第二天晚上离开。

案例c>2:一般案例 当我们增加c时,我们可以看到这种逻辑继续适用。如果c=3,那么这三个人将立即知道有两个或三个蓝眼睛的人。如果有两个人,那么这两个人就会在第二天晚上离开。因此,当其他人在那晚之后仍然在身边时,每个人都会得出结论,c=3,因此他们也有蓝眼睛。他们会在那天晚上离开。

同样的模式通过c的任何值向上延伸。因此,如果c男人有蓝眼睛,蓝眼睛男人需要c个晚上才能离开。所有人都将在同一天晚上离开。

本文由 布拉马尼赛 .如果你喜欢GeekSforgek,并想贡献自己的力量,你也可以使用 贡献极客。组织 或者把你的文章寄到contribute@geeksforgeeks.org.看到你的文章出现在Geeksforgeks主页上,并帮助其他极客。

如果您发现任何不正确的地方,或者您想分享有关上述主题的更多信息,请写下评论。

© 版权声明
THE END
喜欢就支持一下吧
点赞6 分享