zoukankan      html  css  js  c++  java
  • 过桥问题

    背景:在一个伸手不见五指的黑夜里,有一群人过一独木桥,只有一盏灯,每次只能过两人,于是没过去两个必须回来一个人。

    分析:

    N:总人数,按所花时间从小到大排序:A<B<......<Y<Z,分别对应所用时间a,b......y,z。

    分情况讨论:

    假设数据已经按以上规则排好序。

    N=1时,taketime=a;

            A  ->  a;

    N=2时,taketime=b;

            A,B  ->  b;

    N=3时,taketime=a+b+c;

            A,C  ->  c;

            A  <-  a;

            A,B  ->  b;

    N=>4时,

           

    有两种模式:

            模式一:taketime=2*a+y+z;

            A,Z  ->  z;

            A  <-  a;

            A,Y  ->  y;

            A  <-  a;

           

            模式二:taketime=a+2*b+z;

            A,B  ->  b;

            A  <-  a;

            Y,Z  ->  z;

            B  <-  b;

           

    当a+y < 2*b 时用模式一;

    当a+y > 2*b 时用模式二;

    当a+y = 2*b 时都可用。

    根据以上规则,最慢的一组先过河,A和B充当提灯角色(可以这么认为,但B不一定每次都参加)直到最后。

  • 相关阅读:
    20210603
    20210602
    20210601
    20210531-已编辑
    2021053101
    操作系统笔记(一)
    尘埃落定,扬帆起航
    RTL级低功耗设计
    关于毛刺
    电路级拾珍
  • 原文地址:https://www.cnblogs.com/submarinex/p/1941237.html
Copyright © 2011-2022 走看看