对于这个题,不同于二分法找有毒的情况,这个关键在于只能一次,这个是考察对二进制数据的理解,每只老鼠在8小时后都有一个状态,死亡或存活,对于题目,只有1个有毒,那么总共8情况。所以理论上3只老鼠就可以标识这8种状态了。
具体就是如何分配这些老鼠的问题,这个问题可以通过数字逻辑中的3-8编码器的思想来解决,在保证单映射的情况下怎么对应都是可以的。如下是一种对应方式。
0000_0001对应001
0000_0010对应010
0000_0100对应011
0000_1000对应100
0001_0000对应101
0010_0000对应110
0100_0000对应111
1000_0000对应000