老鼠试毒问题

7瓶水1瓶有毒3只老鼠,怎么找有毒的水,再加个条件,必须要求第二天出结果

  1. 二分查找思路,每次均分两组,每组各取一滴水混合成新溶剂喂给老鼠,继续对导致老鼠死亡的一组水进行同上操作。假如是第1瓶有毒,过程演绎如下,第一只老鼠死于前一堆(mid=(0+6)/2=3, 即服用了第1、2、3、4瓶的混合溶剂),第二只老鼠死于前一堆(mid=(0+3)/2=1, 即服用了第1、2瓶的混合溶剂),第三只老鼠随意试一瓶,根据服用后状态即可判断有毒的水。
  2. 二进制编码思路,对每瓶水二进制编码,所需编码位数正好为三位,将第一 位是1的水混为新溶剂喂给第一个老鼠,以此类推,看三只老鼠服用状态(死亡=1,存活=0)得出对应的编码,找到对应的水即可。假如是第1瓶有毒,编码之后,让第一只老鼠服用第4、5、6、7瓶的混合溶剂,第二只老鼠服用第2、3、6、7瓶的混合溶剂,第三只老鼠服用第1、3、5、7瓶的混合溶剂,最终第一只和第二只老鼠存活,第三只老鼠死亡,对应编码为001,对应的水是第一瓶,故此瓶有毒。

第一瓶水001
第二瓶水010
第三瓶水011
第四瓶水100
第五瓶水101
第六瓶水110
第七瓶水111

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值