已知有11瓶无色无味的药水,其中有1瓶有毒并且其他10瓶无毒,喝了有毒的药水后会在23个小时之后的一个小时内毒发身亡(死亡时间在1个小时内随机)。现在有4只老鼠,如何在一天之内(第二天)找出这瓶有毒的药水?
这道题是上课老师给讲的,思路特别巧妙。
把11瓶药水按照二进制的标号,第一只老鼠喝最高位为1的药水,第二只老鼠喝次高位为1的水,以此类推。
11只瓶子的序号如下所示
0 0 0 1 第1个瓶子
0 0 1 0 第2个瓶子
0 0 1 1 第3个瓶子
0 1 0 0 第4个瓶子
0 1 0 1 第5个瓶子
0 1 1 0 第6个瓶子
0 1 1 1 第7个瓶子
1 0 0 0 第8个瓶子
1 0 0 1 第9个瓶子
1 0 1 0 第10个瓶子
1 0 1 1 第11个瓶子
如果只有第一只老鼠死了,我们找出标号为1000的瓶子,也就是第8瓶有毒,如果第二只和第三只死了,我们找出标号为0110的瓶子,也就是第6瓶有毒。