1000桶水中2桶有毒,大豬喝毒水後會在15分鐘內死去,小豬為10分鐘,至少需要幾隻豬?

時間 2021-12-26 01:19:39

1樓:

我覺得,可以參考「韓信點兵」的問題,利用餘數來縮小範圍。

我們用1~1000的整數,對所有的桶進行編號,先只考慮大豬,步驟如下:

從所有編號能整除8的桶內,各取0.1mL,混合後給1號豬喝;

若1號豬活不過 9min,則可知2桶毒水的編號都是 8 的倍數;

若能活過 9min,但活不過15min,則只有1桶毒水的編號是 8 的倍數;

若能活過15min,則2桶毒水的編號均不是 8 的倍數;

從 (8k + 1) 的桶內各取0.1mL,混合後給2號豬喝下;

若仍不能判斷出來,則繼續 (8k + 2), (8k + 3), ...最多到 (8k + 6)即可判斷出來;

到此最多需要 7 只豬,即可判斷兩隻有毒的桶的編號除以 8 的餘數;

注意,這7只裡面,有5只一定是活的,所以還可以繼續使用。

用類似的方法,繼續判斷除以 11 的餘數,最多需要 10 只,之前有5只活的,所以只需再增加5只;並且在這 10 只中,一定有 8 只是活的。

同理,繼續判斷除以 13 的餘數,最多需要 12 只,其中 10 只一定是活的;由於之前已經有 8 只活的,所以需要增加 4 只即可。

注意到 8,11,13 互質,所以他們的最小公倍數為 8×11×13 = 1144 > 1000,

可以根據 N mod 8,N mod 11,N mod 13,得出 1~1000的唯一的 N;

然後再考慮組合的問題,比如,我們得到(8k + a), (8k + b), (11k + c), (11k + d), 可以有 (a,c), (b,c), (a,d), (b,d)的組合,然後再和 (13k + e), (13k + f)組合,最多有 2×2×2 = 8 種組合,所以,在最差的情況下,能計算出 8 個不同的 N[1], N[2], ... N[8];

對這 8 個可能有毒的桶,最多需要 7 只豬即可,而之前有 10 只活的,因此不必再增加了。

到此,至少需要 7 + 5 + 4 = 16只。

如果非要同使用大豬和小豬,則只需要更改判斷存活的時間即可,至少需要的豬的數量不變。

綜上,在最差的情況下,2種豬一共需要準備 16 只,才可以保證找出2桶毒水。

1000桶水中兩桶有毒,豬喝毒水後會在15分鐘內死去,想用乙個小時找到毒水,至少需要幾隻豬?如何實現?

重劍 7只豬就夠 方程就是x x 1 x 2 x 3 1000取最接近1000,但是又 1000的x數值,為7。具體過程自己可以推演 何利 說個簡單的思路。第一輪喝水,n只豬每只喝同樣多就是1000 n桶水,必然有乙隻死,剩餘的豬n 1只去檢驗死去的豬喝的1000 n桶水 1000 n n 1 因為...

Kyb 藍桶 黃桶 紅桶 黑桶 銀桶 都有啥區別?

官方介紹先看一下,然後我會來自KYB上海總部產品開發部的詳細區別點。藍桶特性,這些當然黃桶也有 黃桶套裝在降低車身重心的同時,保持原廠的壓縮行程和舒適性 小結 幾個重要且番外的區別點 黑桶 Excel G就是替換原廠減震器,稍微硬點多一點韌性 藍桶 New SR是會實車適配開發的,黑桶則不會。比如中...

蘋果全家桶和華為全家桶你會選哪個?

聒噪hhh 我是在這個假期要入手好幾款蘋果的裝置了,算是組乙個幾件套吧,但我暫時沒有想組蘋果全家桶的打算,因為.我想玩紅警.首先作為10年的iphone玩家,我大概率不會換安卓手機了,雖說我認為目前單乙個iphone12已經不如華為的mate40了,但操作習慣使我懶得換了。而且還有乙個重要原因是我對...