10条狗试1000瓶水是否有毒

本文介绍了一种使用有限数量动物在特定时间内找出一瓶剧毒水的具体位置的方法。针对两种不同中毒时间的情况,提供了两种不同的解决方案。一种适用于快速反应场景,另一种则适用于延迟反应的情况。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

http://blog.sina.com.cn/s/blog_49e64814010009vx.html

 

 

有1000瓶水,其中有一瓶有剧毒(假设哪怕一个毒药分子在里面也能致命),现在给你10只狗在24小时内通过狗试药的方式鉴定出来哪瓶药有 毒。
情况1:假设狗服药后2小时内即可判断是否中毒,鉴别方案有哪些?
情况2:假设狗服药之后20小时才能判断是否中毒,鉴别方案又是什么?

 
先说较快的中毒那种,简单的这样说:

拿一只狗出来喝掉前500瓶兑的水
如果挂了说明在这500瓶当中,如果没挂说明在另外500瓶中

接下来换一只狗在剩下的当中选一半兑起来喝
可以继续减半

如此则得:
1000
500
250
125
63
32
16
8
4
2
1
正好十条

这样说起来比较简单的能够理解
 
 
应该是三轮阿

第一轮
90 90 90 ......100十一组(狗10)
第二轮
a,9,9.,....10十一组 (狗10)
b,9,9,9。。。。9十组(狗9)
第三轮
a1 1,1,1....,1十组(狗10)
a2 1,1,1....,1九组 (狗9)
b1 1,1,1....,1九组  (狗9)
b2 1,1,1....,1九组 (狗8)
 

再说情况2,
10只狗蹲成一排,形成一个二进制显示器,死了算1,不死算0
1000瓶水用10位二进制表示,哪一位的数字为1,就给对应的那只狗喝水,
20小时后,死了几只狗,写成二进制数,对应编码的那瓶水有毒

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值