这是为了在算法课程中获得额外的学分。问题说明
国王有N瓶酒窖,单瓶中毒。
毒药大约需要一个月才能起作用。国王希望在一个月内使用尽可能少的测试人员识别出准确的瓶子。
我的解决方案是
将
N
瓶子分成M
多个批次并使用“M 测试仪”第一个测试者品尝第一批和最后一批
第二个测试者品尝第一批和第二批。
第三个测试者品尝了第二批和第三批。
继续进行 M 批次,测试人员重叠批次。
当品尝到受污染葡萄酒的两名测试人员生病时,该批次已被确定。
M-2
测试人员从受污染的批次中给每个人留下一瓶味道,第三个生病的测试人员识别出受污染的瓶子。
然而,这个算法需要双倍的工作时间:一个月来识别受污染的批次,第二个月来识别受污染的瓶子。有没有更高效的算法?