这是一个抓老鼠问题:
现在有五个盒子(编号1-5)水平排列,有一只老鼠生活在其中一个盒子里。这只老鼠每天必定会更换一个盒子生活,且只会换到相邻的盒子内。
你每天可以打开其中一个盒子查看,如果盒子中有老鼠,则可以立刻抓住老鼠。如果盒子中没有老鼠,你必须立刻关闭盒子。
假设老鼠足够聪明,且可以预知你的操作。
问:是否有必定抓到老鼠的策略?试给出你的方案
解答
这是Google公司的一道面试题。题目的前提条件是老鼠可以预知你的操作,所以侥幸心理或者碰运气的做法是行不通的。
事实上,仔细审视这个问题,简化它。老鼠虽然每天所在的盒子有5种可能,但可以分为两种情况,奇数盒子和偶数盒子。并且,由于老鼠每天必定会更换一个盒子生活,所以老鼠所在的格子每天都会改变奇偶,我们从这个角度入手。
不失一般性,先假设老鼠第一天所在的格子编号为偶数
第一天 根据假设,老鼠可能在2号盒或4号盒,我们开启2号盒。
若找到了老鼠,游戏结束
若没有找到老鼠,则老鼠在4号盒
第二天 根据第一天结论,老鼠可能在3号盒或5号盒,我们开启3号盒。
若找到了老鼠,游戏结束
若没有找到老鼠,则老鼠在5号盒
第三天 根据第二天结论,老鼠只可能在4号盒,我们开启4号盒。
若找到了老鼠,游戏结束
若没有找到老鼠,说明我们一开始的假设(老鼠第一天所在的格子编号为偶数)不成立,也就是说老鼠第一天所在的格子编号为奇数
第四天 根据第三天结论——老鼠第一天所在的格子编号为奇数,老鼠第四天所在的格子编号应为偶数。
此时问题回归到第一天的情况,重复第一天到第三天的步骤,我们最晚可以在第六天的时候抓住老鼠。
- 由 Etern 发表于 2022-11-29 ,归类于 数学趣题
- 本文链接: https://etern213.github.io/2022/11/29/题目7/
- 版权声明: 本博客所有文章除特别声明外,均采用 Apache License 2.0 许可协议。转载请注明出处!