1、問題描述:8瓶水中,7瓶無毒,1瓶有毒,現在有3只小白鼠可做實驗,已知小白鼠如果喝下有毒的水,(正好)2小時後死亡,如何在2個小時之內(之後)檢測出哪瓶水有毒?
2、解答思想與步驟
1)如果在兩個小時之內的話,是無法檢測出哪瓶水有毒的。因為即使喝到有毒的,小白鼠也最早也在兩個小時後死亡。
2)兩個小時之後的情況下,只需要,每隔一分鐘喂讓小白鼠喝水一次,然後根據小白鼠的死亡時間即可判斷哪瓶水有毒。
3)這種情況是有計算機意義方面的題目。恰好在兩個小時的時間檢測出哪瓶水有毒。需要將這些水進行分組混合並做對比試驗,然後根據小白鼠死亡情況即可判斷哪瓶水有毒。假設所有的水編號為1,2,3,4,5,6,7,8,將這8瓶水水分為4組進行混合,分別為a,b,c,d4組。分組情況如下
a:1,2,3,4
b:1,2,5,6
c:1,3,6,7
d:8(此組不做混合,也不用小白鼠實驗)
下面分析一下小白鼠死亡情況與哪瓶水有毒。
1有毒:abc均死亡;
2有毒:ab死亡,c不死;
3有毒:ac死亡,b不死;
4有毒:a死亡,bc均不死;
5有毒:b死亡,ac不死;
6有毒:bc死亡,a不死;
7有毒:c死亡,ab不死;
8有毒:abc均不死。
3、這道題實際上可以這樣,就是三隻小白鼠假設死亡代表0,生存代表1,那麼三隻小白鼠可以表示8中組合。然後對應8瓶水的情況。只不過需要將水混合起來,方能夠判斷。並且這段時間也在看哈夫曼編碼,就是用三個編碼指代8種情況。
4、如果有不對的地方,歡迎拍磚。
5、祝願師姐師兄們筆試順利,面試順利,找到
好工作,前程似錦。
演算法筆記 15個瓶子,4只老鼠,測試哪瓶有毒
看到今天一道演算法題,就寫了一下自己的思路,希望有大牛,看到這個題,能提出更好的想法,再進行交流學習,我只用了一點簡單的c 進行實現 有15個瓶子,其中最多有一瓶有毒,現在有四隻老鼠,喝了有毒的水之後,第二天就會死。如何在第二天就可以判斷出哪個瓶子有毒 我的想法是,因為最多有一瓶有毒,所以只有,0瓶...
演算法筆記 15個瓶子,4只老鼠,測試哪瓶有毒
看到今天一道演算法題,就寫了一下自己的思路,希望有大牛,看到這個題,能提出更好的想法,再進行交流學習,我只用了一點簡單的c 進行實現 有15個瓶子,其中最多有一瓶有毒,現在有四隻老鼠,喝了有毒的水之後,第二天就會死。如何在第二天就可以判斷出哪個瓶子有毒 我的想法是,因為最多有一瓶有毒,所以只有,0瓶...
郭冬臨到底喝了多少瓶水
郭冬臨到底喝了多少瓶水 四個空瓶換一瓶水,兩個蓋子換一瓶水,問購買五瓶水一共可以喝幾瓶水 import react,from react import from utils 喝水問題 四個空瓶換一瓶水,兩個蓋子換一瓶水 const bottle to drinks 4 const cap to dr...