• 过桥问题


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

    分析:

    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不一定每次都参加)直到最后。

  • 相关阅读:
    二、Heroku使用教程
    一、Heroku简单介绍
    idea中HTTP Client使用
    在Idea中添加javap命令(反编译)
    Linux中如何记住git密码
    通过flume的hivesink接收数据存到hive数据库表中
    《我想进大厂》之Java基础夺命连环16问
    hive存储json数据
    FreeMarker学习
    arthas-boot.jar使用-代码耗时分析
  • 原文地址:https://www.cnblogs.com/submarinex/p/1941237.html
Copyright © 2020-2023  润新知