這個不行,你相當於用了兩個bits的信息,來表達題目要求的一個bit的信息,這個應該是玩賴,我的答案可以保證99個人

來源: 2011-12-11 18:46:16 [博客] [舊帖] [給我悄悄話] 本文已被閱讀:

這個不行,你相當於用了兩個bits的信息,來表達題目要求的一個bit的信息,這個應該是玩賴。

作為腦筋急轉彎是可以(還可一拖長聲音,按拍數傳遞更多信息),但是如果是計算機算法題,你這個不是正確答案。

我的答案可以保證99個人活下來。

最起碼,如果知道一個壓縮算法(比如壓縮率33.3%),最起碼成保證2/3的人活下來,(其餘的三分之一,作為壓縮結果)

但是如果利用奇偶校驗的辦法,我可以保證99個人活下來。

最後一個人,如果藍帽子是奇數,那麽他就說是藍帽子。他的成活概率50%。

倒數第二個人,根據倒數第一個人說的信息(藍帽子是奇數),加上他自己看到的前邊藍帽子的奇偶數,可以判斷出自己的帽子顏色。成活率 100%

除了倒數第一個人,每個人都知道前99個人藍帽子的奇偶信息(由倒數第一個人提供的)。還知道自己後邊每個人的顏色(因為他們自己已經說了。),還知道自己之前每個人的顏色(這個人自己看到的),也就能算出來自己的顏色了。所以成活率是100%。

總的來說,保證99個人成活。