#面试思考题#可怜的小老鼠:有11瓶酒,只有一瓶有毒。喝酒之后,三天会死,只有三天时间。请问至少需要多少只老鼠,可以找出9瓶没有毒的酒。关注微信公众账号“待字闺中”,了解和讨论参考分析。
http://www.weibo.com/1915548291/A2QpWmhUH
分析:
直觉上应该是4只鼠可以找出那瓶有毒的。如果要找出9瓶没有毒的,肯定不大于4嘛。这个大家能想明白吗?有人想看分析就回复哦。:P
最多需要3只就够了,9宫格。ABC 和 ABC,每只鼠负责一横一竖,这样每一瓶都至少有2只喝过,除了对角线上,如果是对角线上只会死一只,其余都是2只,那2只就能定位到哪一瓶了。额。。不知道还有没有更少的,只需要2只或者1只就搞定的?
| A | B | C |
A | 1 | 2 | 3 |
B | 4 | 5 | 6 |
C | 7 | 8 | 9 |
A需要喝的是1,2,3,4,7
B需要喝的是2,4,5,6,8
C需要喝的是3,6,7,8,9
现在可以通过死掉老鼠的情况推断出哪一瓶有问题了,对吧。
更新:
多谢
@geagle9。的提醒,确实存在问题,2和4都是A和B死。呜呜!!之前的算法错误喽。。
看起来我的9宫格是走不通了,不知道老罗是不是还走的下去。
其实我一直有个不明白的是,一共11个瓶子,为啥只要找出9个没有毒的就可以了。答案是要2个一组,分6组,这样的话,用3个老鼠能定位到每一组,这个时候肯定是有一组有问题的,但不管是哪一组,至少能有9瓶是好的。哎呀妈呀。终于弄出来了。
1,2 -> A
3,4 -> B
5,6 -> C
7,8 -> A+B
9,10 -> A+C
11 ->B+C