一个农场里有3只鸡和6袋饲料,其中有一袋饲料有毒,吃到毒饲料的鸡第二天会死,现在需要通过一天的时间(只有一次实验机会)确定哪一袋饲料有毒。问:如何设计方案来确定哪一袋饲料有毒?提示:鸡和饲料可以编号,饲料可以混合。第二问:7袋饲料呢?第三问:3只鸡最多能测出多少袋饲料中其中一袋有毒的情况?加分题(可选):若是6袋中两袋有毒,至少需要多少只鸡才能确定是哪两袋
1- -2- -3-
0 0 0
0 0 1 1
0 1 0 2
0 1 1 3
1 0 0 4
1 0 1 5
1 1 0 6
1 1 1
大概就是这么个思路吧
场景:第一只鸡吃:1、2、3、4袋饲料
第二只鸡吃:2、3袋饲料
第三只鸡吃:3、4、5袋饲料
结论:如果第一袋有毒,那只有第一只鸡会死;
如果第二袋有毒,那第一、二只鸡一起死;
如果第三袋有毒,那第一、二、三只鸡一起死;
如果第四袋有毒,那第一、三只鸡一起死;
如果第五袋有毒,那只有第三只鸡会死;
如果第六袋有毒,那都不会死。
第一问:
设鸡为j1,j2,j3,饲料为s1,s2,s3,s4,s5,s6
让j1吃s2,s4,s6
让j2吃s3,s4
让j3吃s5,s6
如果仅没有鸡挂,肯定是s1有毒,没有鸡吃s1所以不会有鸡挂掉。
如果只有j1挂了s2有毒,只有j1吃了s2。
如果j1和j3挂了,j1和j3都吃了s6,j2没有吃,所以s6有毒
等等
根据j挂的情况,可以推测出是哪袋有毒,其他情况不列举
################
第二问:
让j1吃s2,s4,s6
让j2吃s3,s4,s7
让j3吃s5,s6,s7
剩下同上
################
第三问:
最多8袋,每只鸡可以携带1bit(生 或 死)信息,3只携带3bit,共2*2*2=8种信息
################
加分题
共有C(6,2)=6*5/2/1=15种信息 C(6,2)表示从6个中选取2个
log2(15)=3.XXX
鸡是正整数,至少4头鸡
大佬们都给出解法了,我来说说思路吧
已知: 3只鸡,6袋饲料,一袋有毒。
6里取一,有6种可能,想要判断出唯一的一种,就要有至少六种唯一组合,而3只鸡一共可以有8种唯一的死法(3死0,3死一,3死二,3死3)
所以只需要让配置出能让鸡有上述死法的饲料就可以了(配法上面已经有大佬说了,我这里不在重复)
而6袋中两袋有毒,6里取二,一共有15种取法(C62=15), 上面说3只鸡有八种唯一的死法,那么只要死法大于15就可以了,所以算出4只鸡有16种死法,所以至少四只.