問題描述
有1000個一模一樣的瓶子椅寺,其中999瓶中裝的是普通的水,一瓶是毒藥配并,水和毒藥只能通過老鼠來分辨括荡,喝下毒藥的老鼠會在一個星期后死亡(剛好一個星期)「刃現(xiàn)在你有一個星期時間,請問至少需要多少只老鼠才能確定出哪個瓶子裝的是毒藥观腊?
思路
解決這個問題前可以先考慮把問題簡化。
老鼠的數(shù)量明顯少于瓶子數(shù)量算行,可以先求出n只老鼠可以鑒別多少瓶的液體。
解題過程
假設(shè)老鼠死亡狀態(tài)為1州邢,活著為0。
①當(dāng)n = 1時量淌,老鼠有兩個狀態(tài)骗村,0和1呀枢,一只老鼠可以鑒別至多兩個瓶子的液體胚股;
②當(dāng)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砖茸。就能判斷出是哪一個瓶子裝的是毒藥。
四個瓶子的液體鑒定完成凉夯。
因?yàn)閮芍焕鲜笾挥兴膫€狀態(tài)货葬,如果瓶子數(shù)量有五個的話則不能通過兩只老鼠來判斷劲够。不信可以自己試一下震桶。
③當(dāng)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爹土,當(dāng)m = 1000時踩身,求出 n為7 n為10胀茵。即至少需要 7只 10只老鼠才能鑒別出哪個瓶子裝的是毒藥挟阻。
推演
如果你有兩個星期時間琼娘,那么至少需要多少只老鼠才能找出毒藥?(待解)