lintcode 1228 可憐的豬 思考題

2021-09-26 03:20:21 字數 827 閱讀 4788

有1000個桶,有且僅有乙個桶裡面裝了毒藥,其他的都裝了水。這些桶從外面看上去完全相同。如果乙隻豬喝了毒藥,它將在15分鐘內死去。在乙個小時內,至少需要多少只豬才能判斷出哪乙個桶裡裝的是毒藥呢?

思考回答這個問題,隨後請設計實現乙個演算法去處理更一般的情況。

樣例1:

輸入: buckets = 1000; minutestodie = 15; minutestotest = 60

輸出: 5

挑戰假如一共有 n 個桶,只有乙個桶裝了毒藥。乙隻豬將在喝完毒藥 m 分鐘後死去。你需要多少只豬才能在 p 分鐘內找出那個裝毒藥的桶呢?

思路:

假設5桶酒,時間為題目所設,只要一頭豬就可以完成測試,第一輪第一桶酒,第二輪第二桶…若豬倖存,則第五桶酒為毒酒,故minutestotest/minutesrodie+1為可以測試的次數,因最後一次無需測試。

假設有25桶酒

00 01 02 03 04

10 11 12 13 14

20 21 22 23 24

30 31 32 33 34

40 41 42 43 44

需要兩頭豬,

第一輪:一頭豬第一行,另一頭第一列,如果都毒死,則是在交叉點,否則剩下四桶酒可能是毒酒,剩餘時間剛好測試四輪,一頭豬可以測完。

第二輪:一頭豬第二行,另一頭第二列,同樣道理,如果一頭豬死亡,則剩下三桶酒未測試,而測試時間也為3次。後面以此類推。

所以需要豬數為測試的時間數的n次方不小於酒桶數,此時的n即為所需要的豬的數量。

class solution 

};

可憐的硬碟

這兩天都在抽時間給同學看電腦問題,最後確定是硬碟出現嚴重壞道,前面5g的空間壞道嘩嘩一樣,不知道是怎麼用的。現在給他把壞道區域給遮蔽了,希望能堅持一段時間吧。劃分分割槽時使用了 diskgen這款國產軟體,指定乙個分割槽再修改柱面引數,十分的方便。遮蔽之前還搜尋過hddreg這款軟體,不過最後還是放...

可憐的金剛

美國人對金剛的喜愛可以說是由來以久,king kong的 不下5部,其中有的現在看來非常惡搞,比如有一部講述了外星人入侵地球,外星人也是金剛模樣,然後機緣巧合下和地球的金剛碰上了,兩個金剛進行了一場苦戰,結果當然是地球上的金剛取得了勝利。05年上映的這部金剛作為一部大片,確實有不少精彩的地方,比如骷...

可憐的鴛鴦

親愛的我的寶貝 我知道最近你我都承受著內心無比大的壓力,對於你來說實習是非常好的機會,但是天公不作美,偏偏不讓你去,我知道你非常難過,我們全家都非常難過 而我,一直抱著一線希望的我,昨天和那人談過後真正的從他的口氣裡體會到了什麼叫絕望,在我最後還能保留一點曙光的地方現在也全部漆黑一片了 我真的好難過...