zoukankan      html  css  js  c++  java
  • 淘宝面试题:小白鼠与毒药

    http://www.itmian4.com/forum.php?mod=viewthread&tid=4412&extra=page%3D1看到的,红色字体是本人补充的。

    题目大意

    有很多瓶无色液体,它们中只有一瓶毒液,其余的全是蒸馏水。在外观上看,所有瓶子完全相同。小白鼠如果喝掉了有毒的液体,5 分钟之后死亡。

    现在手上有 5 个小白鼠,问 5 分钟之内,能准确的鉴别出多少瓶液体。有如下 4 个选项:

    A. 5     B. 6     C. 31    D. 32

    做法分析

    最容易想到的办法:5 只老鼠每人喝一瓶,于是能鉴别 5 瓶

    但是答案后面给的 31 和 32 是什么意思?再想想

    哦,是不是可以把瓶子中的液体混合着吃,然后根据 5 只老鼠的连锁反应鉴别液体?好像挺科学的样子

    5 只老鼠的连锁反应,总共有 2^5 种可能的情况,情况太多,不太好分析,我们从一只老鼠分析着走

    1 只老鼠:明显只能鉴别 1 瓶

    2 只老鼠

    两只老鼠的反应有:(活,活),(活,死),(死,活),(死,死)

    再考虑到:只有一个瓶子的液体有毒,怎么安排他们喝药才能准确鉴别毒药呢(蒸馏水直接无视掉)

    (活,死)和(死,活)的状态,肯定是一只老鼠喝了一瓶且仅仅是一瓶另一只老鼠没喝过的

    (死,死)这种状态,肯定是他们共同喝了一瓶且仅仅一瓶

    我们用 1 表示喝,0 表示不喝,那么,不难凑出如下的喝药策略:

      瓶子 1 瓶子 2 瓶子 3
    老鼠 1 1 1 0
    老鼠 2 1 0 1

    那么,现在得出结论:2 只老鼠能鉴别 3 瓶

    3 只老鼠

    三只老鼠的反应有:(活,活,活),(活,活,死),(活,死,活),(活,死,死),(死,活,活),(死,活,死),(死,死,活),(死,死,死)

    注:给3只老鼠分别编号为1、2、3号。

    共有1种这样的情况:  3只都死,表示他们必须喝过同一瓶;

    共有3种这样的情况:  2死1活,表示两死的必定喝过同一瓶;

    共有3种这样的情况:  1死2活,表示一死的肯定自己单独喝过一瓶别人没喝过的;

    共有1种这样的情况:  3只都活,表示不了什么,只能说明他们喝过的都没问题,但是毒液却没检测出来。

    综上所述:他们都喝过同一瓶子,+1;(即下面表格中的瓶子7)

         其中2只会喝同一瓶,+3;(即下面表格中的瓶子4、5、6)

         每一老鼠都独享一瓶,+3;(即下面的瓶子1、2、3)

    和两只老鼠一样的分析:每一只老鼠都喝过一瓶且仅仅一瓶其他老鼠没有喝过的液体,任意两只老鼠都喝过一瓶且仅仅一瓶第三只老鼠没有喝过的液体,三只老鼠共同喝过一瓶液体,那么不难得出如下的喝药策略:

      瓶子 1 瓶子 2 瓶子 3 瓶子 4 瓶子 5 瓶子 6 瓶子 7
    老鼠 1 1 0 0 1 1 0 1
    老鼠 2 0 1 0 1 0 1 1
    老鼠 3 0 0 1 0 1 1 1

    于是得出结论:3 只老鼠能鉴别 7 瓶

    到了这里,4,5 只老鼠的情形应该不用分析了吧,答案应该是:n 只老鼠能够鉴别 2^n - 1 瓶。(这是根据规律总结出来的,“情况:全活”证明不了什么,所以需要减去一瓶)

    这道题目的答案应该是 2^5 - 1,选择 C  (里面还能牵扯到数学的东西,不扎实,不多想了~)

  • 相关阅读:
    Asp.net弹出浏览器客户端确认对话框代码 Carlwave
    VS 2005 与SQL Server 2005整合优势在哪里?(from csdn.net) Carlwave
    如何让搜索引擎收录我的站点 Carlwave
    超强扩展性的DNNDotNetNuke模块功能分类列表(from 中国DNN) Carlwave
    DotNetNuke命名空间概述 Carlwave
    Most Popular Questions and Answers on ASP.NET Whidbey(from asp.net forums,write by ASP.NET Team) Carlwave
    火箭官方宣告麦蒂缺阵五周 季后赛前景蒙上阴影 Carlwave
    asp.net有效使用缓存(转) Carlwave
    《Business Rules Engine Overview》《业务规则引擎概述》write by Mark Kamoski Carlwave
    中国详细省市县自治区名称列表(含access数据库和sql2000备份数据库) Carlwave
  • 原文地址:https://www.cnblogs.com/xcw0754/p/4227193.html
Copyright © 2011-2022 走看看