問題:
有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開始點下去,原理同上,肯定能找到,否則假設不成立。
綜上,掃瞄兩遍,肯定能找到獎品!
ZJYYCOJ 會移動的盒子
滑動視窗的題,周賽的時候,讀懂這題,就感覺似曾相識,所以當時可以想到需要去維護乙個單調性,然後自己就傻傻的去用優先佇列來維護了,壓根就是忘掉了單調性這個概念了!qaq 首先,能想到用佇列來實現,但是考慮到用從後放,從前取出,所以得用deque來實現,維護一次遞減,一次遞增即可!include usi...
UVA11491 獎品的價值
獎品的價值c804 執行時間限制 1000ms 執行空間限制 51200kb 試題描述 你是乙個電視節目的獲獎嘉賓。主持人在黑板上寫出乙個 n 位非負整數 不以 0 開頭 邀請你刪除其中的 d 個數字,剩下的整數便是你所得到的獎品的價值。當然,你希望這個獎品價值盡量大。1 d n 10 5 輸入兩行...
秀一下偶的數碼獎品
把這個帖子也搬到園子裡來,私底下秀一秀,哈哈!這些東東是參加各種活動得到的,很多活動可能影響範圍比較小,參與的人不多,所以獎品覆蓋範圍就大一些,我就很幸運地得到一些 amoi e850 2007年參加msn機械人得的二等獎,就是小i機械人那個 舉辦的,自從那開始就沒再買過手機,也好,我的k700用壞...