問題:
有n個瓶子,有一個獎品,遊戲者需要猜出獎品在哪個瓶子中。
有n個黑色的瓶子(以至於遊戲中看不到瓶中是否有東西)設從0到n-1編號,一字排開。
每一次如果遊戲者猜錯了,那麼獎品會各以50%的概率移動到左邊或者右邊的瓶子中。
當獎品位於最左邊或者最右邊,遊戲者猜錯時,獎品必然右移或者左移。
請問,遊戲者最少需要猜多少次,可以保證猜到獎品位置。
ps:好像是網易遊戲面試題,比較有意思。
分析:
乍一看,感覺是無解,根本不可能猜得到。這也是有意思的地方。
先假設8個瓶子,1.2.3.4.5.6.7.8
1)假設獎品在奇數中,比如在3。
先按順序來點,1點一次,沒有就點2號,一真點到最後,即點8次。
點1時,沒有,獎品變偶數。點2,沒有,獎品變奇數,並且不可能爲1.因爲要變1,必須通過2,但是2沒有。
所以獎品3或3以後的奇數中。現在在點3,若沒有獎品則變偶數,且不可能爲2,原因一樣。
這樣按順序點到最後,肯定能夠找到獎品。如果沒有找到,就說明假設不成立,獎品最初在偶數位置中。
2)假設獎品在偶數中,比如在4。
那就從2開始點下去,原理同上,肯定能找到,否則假設不成立。
綜上,掃描兩遍,肯定能找到獎品!