找出會移動的獎品

2021-06-17 00:13:48 字數 684 閱讀 9202

問題:

有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用壞...