有1000只水桶,其中有且只有一桶裝的含有毒藥,其餘裝的都是水。它們從外**起來都一樣。如果小豬喝了毒藥,它會在15分鐘內死去。
問題來了,如果需要你在一小時內,弄清楚哪只水桶含有毒藥,你最少需要多少只豬?
回答這個問題,並為下列的高階問題編寫乙個通用演算法。
高階:假設有 n 只水桶,豬飲水中毒後會在 m 分鐘內死亡,你需要多少豬(x)就能在 p 分鐘內找出「有毒」水桶?n只水桶裡有且僅有乙隻有毒的桶。
參考:分析:拿到題目乍一看 ~~不知
所雲,我擦,不是easy類的題嗎,懷疑了一波自己的智商然後去google了。
一頭豬有五個狀態,15min,30,45,60,die or alive.
一頭豬不光是死活兩種狀態,而是具有五種狀態,所以應該採用五進製進行編碼;
用這種編碼方式去唯一對應乙個水桶,當五個回合結束之後通過兩頭豬在五個狀態的狀態判斷哪乙個桶水有毒。
所以n個豬能確定的編碼數量是5的n次方
class solution
};
458 可憐的小豬
有1000只水桶,其中有且只有一桶裝的含有毒藥,其餘裝的都是水。它們從外 起來都一樣。如果小豬喝了毒藥,它會在15分鐘內死去。問題來了,如果需要你在一小時內,弄清楚哪只水桶含有毒藥,你最少需要多少只豬?回答這個問題,並為下列的高階問題編寫乙個通用演算法。高階 假設有 n 只水桶,豬飲水中毒後會在 m...
458 可憐的小豬
有 buckets 桶液體,其中 正好 有一桶含有毒藥,其餘裝的都是水。它們從外 起來都一樣。為了弄清楚哪只水桶含有毒藥,你可以喂一些豬喝,通過觀察豬是否會死進行判斷。不幸的是,你只有 minutestotest 分鐘時間來確定哪桶液體是有毒的。餵豬的規則如下 選擇若干活豬進行餵養 可以允許小豬同時...
458 可憐的小豬(Java)
問題描述 有1000只水桶,其中有且只有一桶裝的含有毒藥,其餘裝的都是水。它們從外 起來都一樣。如果小豬喝了毒藥,它會在15分鐘內死去。問題來了,如果需要你在一小時內,弄清楚哪只水桶含有毒藥,你最少需要多少只豬?回答這個問題,並為下列的高階問題編寫乙個通用演算法。高階 假設有 n 只水桶,豬飲水中毒...