主人給了湯姆貓一件重要差事:看守下圖中的蛋糕房,不要讓貪吃的傑瑞鼠吃掉了房間里的小蛋糕。下圖中的藍色方格,就是有著26個小房間的蛋糕房,幾乎每個房間都有著四通八達的大門(圖中方格上的小缺口)。
聞著蛋糕的香氣,傑瑞偷偷地溜進了蛋糕房的大廳。但是,傑瑞想要吃掉屋裡所有的蛋糕,可不是一件容易的事。為了不被湯姆捉到,傑瑞每個房間只能進去一次,並且不能從同一扇門進出;吃完所有蛋糕,它還得迅速從出口處逃離。你能幫傑瑞畫出正確的奔跑路線,助它飽餐一頓嗎?
考慮一個傳統的猜數遊戲。 A 、 B 兩名玩家事先約定一個正整數 N ,然後 A 在心裡想一個不超過 N 的正整數 x , B 則需要通過向 A 提問來猜出 A 心裡想的數。 B 的問題只有唯一的格式:先列出一些數,然後問 A 「x 是否在這些數里」, A 則需要如實回答「是」或者「否」。顯然, B 是保證能猜到 x 的,只需要依次詢問「x 是否等於 1 」,「x 是否等於 2 」即可。由於 B 可以精心選出滿足某種特徵的所有數,詢問 x 是否在這些數里,因而 B 還可以做得更好。例如當 N = 16 時, B 第一次可以問「x 是否小於等於 8 」,或者等價地,「x 是否屬於 {1, 2, 3, 4, 5, 6, 7, 8} 」;接下來,根據 A 的回復繼續細問「x 是否小於等於 4 」或者「x 是否小於等於 12 」,以此類推。另一種方法則是詢問「x 的二進位表達的第一位是否是 1」,「x 的二進位表達的第二位是否是 1」,以此類推,從而獲得 x 的二進位表達的所有數位,便能推出 x 來。
現在,有意思的問題來了。假設 A 可以偶爾說謊(但保證不會連續說謊兩次),那麼 B 還能通過詢問猜出 A 所想的數嗎?如果願意的話, B 可以詢問任意多次。