囚犯和燈 - 推理遊戲

Hamiltion avatar
By Hamiltion
at 2005-07-18T18:46

Table of Contents

※ 引述《Nanan (安慶程二)》之銘言:
: 100個囚犯,101間牢房,每人一間,
: 剩下的那間牢房里面有一盞燈
: 每天隨机叫一個囚犯去空房間一次,可以開燈,關燈,或者什么都不作
: 如果有一天,有一個囚犯說,我确定100個囚犯全都來過了
: 對了,就放了所有囚犯;
: 錯了,就全殺。
: 所有囚犯都看不見燈,除非走進空房間
: 囚犯之間不能互通消息,除非用燈
: 游戲開始之前所有囚犯一起商量一個辦法判斷所有人都進過空房間了
: 請問。。。。。。
在100人中選出一人作為"開燈者"
其他99人作為"關燈者"
分配任務如下:

開燈者的任務:
每次進房時,若燈為暗的,則開燈
若燈為亮的,則什麼也不做

關燈者的任務:
每次進房時,若燈為暗的,則什麼也不做
若燈為亮的,則關燈
但是注意,在第一次執行"關燈"之後,改變任務內容
變成每次進房時不管燈是亮是暗,什麼都不做

也就是說,只有開燈者可以開燈
也只有關燈者可以關燈,但只能關一次

接著,考慮開燈者的情況
當開燈者第一次進房時,燈一定是暗的,照任務內容將它打開,離開
第二次進房時,若燈是暗的,代表有一個關燈者來過了
往後每一次進房時,若燈是暗的,代表有一個"新的"關燈者進來過
若燈是亮的,代表沒有"新的"關燈者進來過

當他確定有99個關燈者進來過時
就可以確定全部來過了

--

All Comments

Delia avatar
By Delia
at 2005-07-21T02:29
高手@@
Frederica avatar
By Frederica
at 2005-07-22T00:24
就是開燈者開了第100次燈就可以確定了
Frederica avatar
By Frederica
at 2005-07-22T23:07
唔 要好多年說
Quintina avatar
By Quintina
at 2005-07-23T19:28
真是高手阿 我只想的到用100天當週期 如果中途
有人進去兩次就把燈關上 第一百個就能判斷了
Vanessa avatar
By Vanessa
at 2005-07-25T11:40
可是是"每天隨機一人進房間"耶
Ethan avatar
By Ethan
at 2005-07-29T22:34
沒考慮到在99人次內有人可能被重複叫的問題
原po的方法才是正解

囚犯和燈

Skylar Davis avatar
By Skylar Davis
at 2005-07-18T18:28
※ 引述《Nanan (安慶程二)》之銘言: : 100個囚犯,101間牢房,每人一間, : 剩下的那間牢房里面有一盞燈 : 每天隨机叫一個囚犯去空房間一次,可以開燈,關燈,或者什么都不作 : 如果有一天,有一個囚犯說,我确定100個囚犯全都來過了 : 對了,就放了所有囚犯; : 錯了,就全殺。 : 所有 ...

囚犯和燈

Todd Johnson avatar
By Todd Johnson
at 2005-07-18T16:51
100個囚犯,101間牢房,每人一間, 剩下的那間牢房里面有一盞燈 每天隨机叫一個囚犯去空房間一次,可以開燈,關燈,或者什么都不作 如果有一天,有一個囚犯說,我确定100個囚犯全都來過了 對了,就放了所有囚犯; 錯了,就全殺。 所有囚犯都看不見燈,除非走進空房間 囚犯之間不能互通消息,除非用燈 游戲開始之前 ...

微軟面試題

Jacky avatar
By Jacky
at 2005-07-17T19:10
※ 引述《greenmiracle (看著吧..)》之銘言: 真的是個漂亮的解法!!!!! 高手高手... ^_^ : 例如上方的1→23→56→81→96→1在96跟1之間加個100 : 變成1→23→56→81→96→100→1 : 也就是說上面兩種情況的個數相同 我想要補充 ...

微軟面試題

Elvira avatar
By Elvira
at 2005-07-16T14:17
※ 引述《greenmiracle (看著吧..)》之銘言: : ※ 引述《Nanan (安慶程二)》之銘言: : : 不知道有沒有人發過。 : : 題目如下: : : 飛机上有100個座位,按順序從1到100編號。有100個乘客,他們分別拿到了從1號到100 : : 號的座位,他們按號碼順序登机并應當對號入 ...

微軟面試題

Caitlin avatar
By Caitlin
at 2005-07-16T14:10
※ 引述《Nanan (安慶程二)》之銘言: : 不知道有沒有人發過。 : 題目如下: : 飛机上有100個座位,按順序從1到100編號。有100個乘客,他們分別拿到了從1號到100 : 號的座位,他們按號碼順序登机并應當對號入座,如果他們發現對應號座位被別人坐 : 了,他會在剩下空的座位隨便挑一個坐。現在假 ...