問題描述
有1000個一模一樣的瓶子,其中999瓶中裝的是普通的水,一瓶是毒藥,水和毒藥只能通過老鼠來分辨,喝下毒藥的老鼠會在一個星期后死亡(剛好一個星期)?,F(xiàn)在你有一個星期時間,請問至少需要多少只老鼠才能確定出哪個瓶子裝的是毒藥?
思路
解決這個問題前可以先考慮把問題簡化。
老鼠的數(shù)量明顯少于瓶子數(shù)量,可以先求出n只老鼠可以鑒別多少瓶的液體。
解題過程
假設(shè)老鼠死亡狀態(tài)為1,活著為0。
①當n = 1時,老鼠有兩個狀態(tài),0和1,一只老鼠可以鑒別至多兩個瓶子的液體;
②當n = 2時,老鼠有四個狀態(tài),00,01,10,11。
假設(shè)有老鼠甲和老鼠乙。兩只老鼠明顯可以鑒別三瓶液體。那我們試一下是否可以鑒別四瓶液體。假設(shè)有A、B、C、D四瓶液體。甲乙兩只老鼠剛好有四個狀態(tài),四個狀態(tài)跟四瓶液體一一對應(yīng)的話就能根據(jù)老鼠狀態(tài)來判斷那一瓶是毒藥。如下:
| 液體 | 老鼠甲 | 老鼠乙 |
|---|---|---|
| A | 0 | 0 |
| B | 0 | 1 |
| C | 1 | 0 |
| D | 1 | 1 |
根據(jù)上面的表格,讓老鼠甲喝瓶子C、D里的液體,老鼠乙喝瓶子B、D里的液體,如果老鼠甲死亡,則C瓶裝的是毒藥,如果老鼠乙死亡,則瓶子B裝的是毒藥,兩只都死則D是毒藥,都沒死則A是毒藥。
這樣的鑒定思路是每只老鼠喝1/2個瓶子里面的液體,每只老鼠所選的瓶子又跟另外一只有一半的交集,這樣就產(chǎn)生了四種可能。而產(chǎn)生每種可能的瓶子只有一個,如產(chǎn)生11的瓶子只有D。就能判斷出是哪一個瓶子裝的是毒藥。
四個瓶子的液體鑒定完成。
因為兩只老鼠只有四個狀態(tài),如果瓶子數(shù)量有五個的話則不能通過兩只老鼠來判斷。不信可以自己試一下。
③當n = 3時,老鼠總共有8個狀態(tài):000,001,010,011,100,101,110,111。根據(jù)n = 2的規(guī)律,可以知道3只老鼠總共可以鑒別8瓶液體。
結(jié)論
根據(jù)前面的三種情況可以得出規(guī)律,n只老鼠能鑒別的瓶子數(shù)m是這n只老鼠的兩個狀態(tài)的排列組合,即m = 2n。
現(xiàn)在可以求出原問題的解了,根據(jù)題意能得出m <= 2n,當m = 1000時,求出 n為7 n為10。即至少需要 7只 10只老鼠才能鑒別出哪個瓶子裝的是毒藥。
推演
如果你有兩個星期時間,那么至少需要多少只老鼠才能找出毒藥?(待解)