监狱长关押囚犯问题.
Exercise 4. 你是最近被捕的囚犯之一,你的名字叫:P。监狱长是一位丧心病狂的计算机科学家,他发表以下声明:
你们今天可以会聚在一起并计划一个策略,但是在今天之后,你们将被单独地关在监狱中,并且彼此之间不能再进行任何交流了。
我已经布置了一个“开关室”,其中包含一个开关,可以打开或关闭。开关没有连接任何灯泡之类的东西。
我会不时地随机选择一名囚犯进入“开关室”。这名囚犯可能会拨动开关(从开启到关闭,反之亦然),或者可以保持开关不变。此时没有人会进入这个房间。
每个囚犯将经常任意进入这个房间。更准确地说,对于任何N个囚犯,最终你们每个人都会至少N次进入这个房间。
在任何时候,你们中的任何人都可以告诉我:“我们所有人都至少有一次进过这个房间了。”如果说对了,我会放了你们。如果说错了,我会把你们所有人都送去喂鳄鱼。接下来就看你们的了!
- 当您知道开关的初始状态关闭时,设计一个获胜策略。
- 当您不知道开关的初始状态是打开还是关闭时,设计一个获胜策略。
提示:并非所有囚犯都需要做同样的事情。
问题分析
如果开关初始状态是关闭的:
对于N个囚犯,我是其中的P. P告诉大家:
- 你们都不能去告诉监狱长,只能由我去告诉监狱长。说:我们都至少一次进入房间了。
- 当你们第一次看到开关是关闭的时候,把它打开。从此之后,不管你们再进入多少次,都不做任何事情。
- 每次我进去,看到开关是打开的,就在心里计数,表示你们有一个人进入了。然后我把开关关掉。
- 当我心里计算到打开了N-1次之后,我就去给监狱长说了。
如果开关初始状态是不确定的:
对于N个囚犯,我是其中的P. P告诉大家:
- 你们都不能去告诉监狱长,只能由我去告诉监狱长。说:我们都至少一次进入房间了。
- 当你们第一次看到开关时。请记住他的状态,然后什么都不做离开。当你后面进入时。如果开关状态变化了,请把他复原为你第一次看到的状态。从此之后,不管进入多少次,都不要做任何事情。
- 当我第一次进入时,记住开关的状态,然后把它设置为相反的状态。以后每次进入,我观察开关状态和第一次状态相同不,如果相同,就在心里计数,表示你们有一个人进入了。然后我再把他设置为相反状态。
- 当我心里计算到N-1次之后,我就去给监狱长说了。
监狱长关押囚犯问题.相关推荐
- 绿皮书一些quant 题目 (1)
2019独角兽企业重金招聘Python工程师标准>>> 1.题目 1. A让C要送一份资料给B.但C不可靠,A可以把资料放在盒子里锁上才能送给B,但B也需要拿到钥匙才能打开盒子.问A ...
- 绿皮书里的智力面试题
转自--http://zhiqiang.org/blog/science/brain-teasers-from-quant-practical-guide.html 题目来源:<A practi ...
- 尴尬!因软件 Bug ,美国数百名囚犯释放后无法出狱
[CSDN 编者按]你敢想,真的会出现因为软件 Bug,上百起刑满人员被继续关押的奇葩事件. 整理 | 李磊 责编 | 张文 出品 | CSDN(ID:CSDNnews) 近日,一位来自美国亚利 ...
- 囚犯排队红帽子和蓝帽子问题
Exercise 5. 同一个监狱长有不同的想法. 他命令囚犯排队站成一列,并在他们的每个头上放置红色或者蓝色的帽子.没有囚犯知道他自己的帽子的颜色,或他身后任何囚犯帽子的颜色,但他可以看到前面 的所 ...
- Python 有趣的囚犯问题
一个监狱中有n个囚犯,每个犯人一个单独的房间,犯人之间不能进行通讯. 监狱规定每天可以有一个犯人出来放风,并且犯人在往返住所的过程中不能和其他犯人进行联系. 放风的操场上有一盏灯,犯人可以随意的进行开 ...
- 关押罪犯-并查集、贪心
题目来源:Acwing 257.关押罪犯&洛谷 P1525 [NOIP2010 提高组] 关押罪犯 思路来源:这里 题目描述 S 城现有两座监狱,一共关押着 N 名罪犯,编号分别为1~N. 他 ...
- 百囚犯问题(100 prisoners problem)
百囚犯问题(100 prisoners problem) 文章目录 百囚犯问题(100 prisoners problem) 问题描述 策略选择 拓展到2n个囚犯 问题描述 Philippe Flaj ...
- 置换与轮换——百囚犯问题
问题描述 Philippe Flajolet和Robert Sedgewick在2009年提出了"百囚犯问题(100 prisoners problem). 在某个法制不健全的国家,监狱中有 ...
- 监禁25年!这个囚犯人生无望,直到他在监狱自学成了数学家....
Python实战社群 Java实战社群 长按识别下方二维码,按需求添加 扫码关注添加客服 进Python社群▲ 扫码关注添加客服 进Java社群▲ 来源丨英国那些事儿 https://mp.weixi ...
最新文章
- 【Android 逆向】加壳技术识别 ( 函数抽取 与 Native 化加壳的区分 | VMP 加壳与 Dex2C 加壳的区分 )
- 【Java】Float计算不准确
- python函数实例化_用Python实例化函数
- Leetcode每日一题:690.employee-importance(员工的重要性)
- android之camera
- 视频编解码(八):264/265解码器小结
- 我的朋友圈又被刷屏了。
- 459.重复的子字符串
- CheckBox组件
- go的编程哲学和设计理念
- C语言入门20个简单程序|最新更新2021.7.13
- 计算机网络故障的论述,计算机应用中常见的网络故障及解决方法
- Golang开源流媒体服务器(RTMP/RTSP/HLS/FLV等协议)
- 2020亚太数学建模竞赛A题翻译
- 《灵魂的微笑》读后感
- 转贴:Microsoft OLE DB Provider for SQL Server错误80040e37
- Win11 专业工作站版安装安卓子系统方法 (离线包安装)
- 安装ArcGIS10.2,localhost没有有效的许可管理器的解决办法
- 1036. 跟奥巴马一起编程(15)
- RegAsm安装卸载办法
热门文章
- Churchy 教会慈善 Joomla模板 joomla高级模板
- 企业如何选择一个靠谱的培训直播平台呢?
- 零基础入门学习Python(19)--函数:我的地盘听我的
- VLAN的TRUNK协议(VTP)
- python opencv读取视频没声音_python + opencv: 解决不能读取视频的问题
- ERR_UNSAFE_PORT解决以及所有非安全端口
- 至强服务器性能视频,至强E5 V3性能表现测试_戴尔服务器_服务器评测与技术-中关村在线...
- 二进制枚举+prim buy or build 问题
- 模拟黑客思维对网站进行CC压力测试!(二)
- 完美打印CSDN网页(整理自其他博客)