四人过桥问题

作者: 竹中桑PM0 | 来源:发表于2015-11-05 23:11 被阅读0次
一、问题

漆黑的夜里,四位旅行者来到了一座狭窄且没有护栏的小桥。如果不借助手电筒的话,大家是无论如何也不敢过桥的。不幸的是,四人一共只带了一只手电筒,而桥窄小得只够让两个人同时通过。如果各自单独过桥的话,四人耗时分别是1 2 5 10 min;如果两人同时过桥,由于互不影响,耗时就是较慢的那一个。问题来了,怎样设计一个方案,让这四个人尽可能快地过桥呢?

二、正解

假设四人为A=1、B=2、C=5、D=10

  1. A+B→
  2. A←
  3. C+D→
  4. B←
  5. A+B→

耗时为2+1+10+2+2=17 min

此法的聪明之处,在于让两个走得慢的人同时过桥,这样来耗时便只是走得最慢的那个D,而走得次慢的那位C就不用另花时间过桥了。

三、新解

为了自圆其说,我们先作三点假设:

  1. 桥是直的;
  2. 手电筒是LED的;
  3. 走最快的A在黑夜中灯光下步行速度最大为1 m/s

证明假设是成立的:

  1. 桥,不论是独木桥、铁索桥还是钢筋混凝土,一般都不会拐弯;
  2. 四位旅行者这组团闯山,必是资深驴友,LED强光手电筒必备;
  3. 普通人日间步行速度约0.75 m/s,夜间在灯光指引下步行速度必大大减缓,而A较D快了有10倍,定不是普通人,不防设A在手电灯光下夜间步行速度最大为1 m/s

以A=1 m/s的最大夜行速度衡算,桥的长度L=1*60=60 m;普通的LED手电筒有效射程至少200 m,对付小桥是绰绰有余。

让A和D先过桥,由D拿着手电照向前方,A则在灯光下安全过桥。当A过桥后,D站在桥上原地不动,并将手电筒照向上桥方向,B迎着灯光灯光朝D走去,与D相遇,一起过桥。当B过桥后,D原地不动等着C来,后一起过桥。任务完成。

示意如下,其中()为灯光朝向,←↓→为运动方向:

  1. D→ == A→
  2. B→ == D↓
  3. D→ == B→
  4. C→ == D↓
  5. D→ == C→
  6. D→ ==

算法见下:

A和D一起过桥,A走完了1L,D走了1/10L;D在1/10L处等着B,见面后B又走了9/10L,D走了9/50L;D在14/50L处等着C,见面后C又走了36/50L,D走了36/100L;
以上ABC一个挨着一个过桥,一共花去1+2+5=8 min

D在64/100L处,独自走完最后36/100L,花去3.6 min;
以上四人过桥一共花去8+3.6=11.6 min,远小于17 min

此法的机智之处在于,最大程度地利用了桥的空间和手电筒的射程,最低限度地满足了问题的要求,基于实际合理的人物设定,从而得出了最终答案。

四、后记

笔者时隔两个月多回看这篇文章(之前在新浪博客上发表过),再加上之前有同学质疑,发现了两个问题:

  1. 为什么在新解中是D和A先走,而不是D和C先走?
  2. 为什么不能四个人一个紧挨着一个,一起走,D在最后打着手电给前面仨指路?

想了想该如何回答:

  1. D+ABC和D+CBA的耗时是一样的;
  2. 后面的人会挡着光,前面的A将没有足够的光前行;另外,小桥不能同时承载三个人通过;

其实是有些牵强的,不过不必那么认真。

相关文章

  • 四人过桥问题

    一、问题 漆黑的夜里,四位旅行者来到了一座狭窄且没有护栏的小桥。如果不借助手电筒的话,大家是无论如何也不敢过桥的。...

  • 四人过桥

    有一处地势险峻的峡谷,谷底是湍急的水流,而想要过去只能依靠横亘在悬崖峭壁之间的几根铁索。 一行四人,一个盲人、一个...

  • 过桥问题

    //有4个女人要过一座桥。她们都站在桥的某一边,要让她们在17分钟内全部通过这座桥。这时是晚上。她们只有一个手电筒...

  • 过桥问题的贪心解法

    过桥问题: 黑夜,只有一只手电筒A过桥需要1sB过桥需要3sC过桥需要5sD过桥需要8sE过桥需要12s求最小过桥...

  • ACM输入+过桥问题

    {int a,b;while(scanf("%d %d",&a, &b) != EOF) // 输入结束时,sca...

  • 过桥问题之——信使模型

    最近看动态规划,发现经典的过桥问题,描述如下:【例题1】在一个夜黑风高的晚上,有n(n <= 50)个小朋友在桥的...

  • 《找回迷失的自己:拯救伪快乐的人生》(1)

    你被困在哪里 你是能够顺利过桥的人吗 一行四人携手寻梦。 一天,他们来到地势险要的山崖边,崖底是湍流的河水, 山崖...

  • 和相爱的人结婚,这很重要

    与往常一样,下班、回家。 一个人吃饭,还是过桥米线。 同时霸占了一张可容纳四人的“大”桌子。 吃得津津有味,可不快...

  • 过桥米线不过桥

    文|夏默 “让一让,别跑!”杨秀才像风一样奔跑在拥挤的闹市,只是县城百姓太多,叫卖的,逛街的,杀猪的,看热闹的,官...

  • 使用A星算法解决过桥问题

    上周朋友提到一个智力题: 有4个人在晚上通过一座摇摇欲坠的小桥,并且每次只能让2个人过去。过桥的人必须要用到手电筒...

网友评论

    本文标题:四人过桥问题

    本文链接:https://www.haomeiwen.com/subject/dbhchttx.html