10隻老鼠和1000個瓶子,其中一瓶有毒藥

1 · Li-Ting · March 12, 2022, 4 a.m.
10隻老鼠和1000個瓶子,其中一瓶有毒藥 Posted on Mar 12, 2022 by LT 現在有10隻老鼠和1000個瓶子,其中一瓶有毒藥,另外999瓶裡面是普通的水。從外觀上分辨不出水和毒藥。喝下毒藥的生物會在一星期之後死亡,你如何利用手上的老鼠,在一星期之後,正確回答那個瓶子裡面裝的是毒藥? 這是我在面試的時候,被實際問到的問題,當下因為第一個想法是想用binary search來做,但用binary search的話,需要多次實驗,沒辦法在一星期之後立刻得到結果,所以在沒得到進一步提示的情況下,就卡住了。 上網找了一下,似乎也是一道經典題了。我們先把問題簡化一下,假設現在是3隻老鼠和8個瓶子,其中一瓶有毒藥,要如何在一星期後找出來呢? 因為我們現在手上有3隻老鼠,假設編號為A,B,C,然後我們用1代表老鼠死亡,用0代表老鼠存活,在一星期之後全部老鼠的存活情形如下: 3隻老鼠的存活狀態 A B C 0 0 0 0 0 1 0 1 0 0 1 1 1 0 0 1 0 1 1 1 0 1 1 1 也就是說,老鼠的死活情形,剛好...