第117章 100個囚徒問題(1 / 1)

有100個無期徒刑的囚徒,被關在100個獨立的小房間,互相無法通信。每天會有一個囚徒被隨機地抽出來放風,隨機的意思就是可能被抽到多次。

放風的地方有一盞燈,囚徒可以打開或者關上,除囚徒外,沒有別人會去動這個燈。每個人除非出來放風,否則是看不到這個燈的。

一天,全體囚徒大會,國王大赦,給大家一個機會:如果此後某一天,某個囚徒能夠明確表示(但事先沒辦法詢問其他囚徒),所有的囚徒都已經被放過風了,而且的確如此,那麼所有囚徒釋放;如果仍有囚徒未被放過風,那麼所有的囚徒一起處死!

囚徒大會後給大家20分鍾時間討論方法,然後放回牢房,囚徒們能找到方法嗎?

補充:

這盞燈會永遠有充足的能源供應,如果燈泡壞了或是電路出了故障會馬上修好,當然修理人員不會改變燈的狀態(開或關)。除了開關這盞燈,放風的囚犯放風時留下的任何其他痕跡都會在夜晚被清除幹淨。(包括囚徒在燈上所作的任何記號)

第一種方法:

第一天出來的這個囚徒負責拯救大家,以後出來的囚徒:

1.當燈是關著的時候,如果他沒有開過燈,那他可以打開燈,否則他不能開燈;

2.當燈是開著的時候,他不動燈。

3.第一個囚徒在他放風的時候,如果發現燈是開的,那麼他就關閉燈。這時他就把放過風的囚徒數加1.

當第一個囚徒的計數達到99的時候(加上他自己是100),他就可以宣布所有的囚徒都放過風,按平均計算100×99=9900天,就是27年。

第二種方法分兩個階段:

階段一:(前100天決定誰來計數)

1.第1~99天,初始燈關著,第一個兩次放過風的人將成為計數者,並將燈打開。設其為第k天,第二次放風,則他知道已經有k-1個人放過風,做為100天後計數的初始值。

2.第100天放風的人如果看見燈關著,則宣布所有人都放過風;否則把燈關上。

階段二:(100天後)

1.如果計數者放風時看見燈開著,則將放過風的人數加1並關燈,到100時宣布勝利。

2.其他人如果以前沒放過風,並且燈關著,則開燈,否則不動。

此方法期望年數為

24.42年。