zoukankan      html  css  js  c++  java
  • (数学)空中加油问题

    题目:

    一架飞机载满油可绕地球飞行半圈,飞机与飞机之间可以相互加油,若全球只有一个基地,每架起飞的飞机都必须回到基地(直接返回或绕一圈返回),问至少要起落几架次飞机,才能保证至少有一架飞机安全绕地球飞行一圈,并写出空中加油方案?

    思路:

    答案:4架飞机 6架飞机的油

    有两种方法,假设四架飞机分别为ABCD,A绕地球飞行一圈

    方法一:

    1、【加油】A、B同时从基地起飞,飞到地球1/6处,此时B将自己1/3的油加给A,这样B剩下1/3油,A满油;

    2、【飞行】B用余下的1/3油飞回基地,而A满油,可以飞到地球的1/6+1/2=2/3处,也就是反方向还剩1/3的路程,此时已经没有油;

    3、【加油】B、C从反方向起飞,飞到地球反方向1/6处,此时B将自己1/3的油加给C,这样B剩下1/3油,C满油;

    4、【加油】B用余下的1/3油飞回基地,而C满油,再飞1/6到达地球反方向1/3处,恰好与A会合,此时C剩下2/3的油,将1/3加给A后,A、C两机各剩1/3油;

    5、【飞行】A、C用余下的1/3油飞到地球反方向的1/6处;

    6、【加油】B、D最后一次起飞,飞到地球反方向1/6处与A、C会合,B、D分别将其剩余2/3的油的一半即1/3的油加给A、C,这样每架飞机都有1/3的油;

    7、【飞行】A、B、C、D用余下的1/3油恰好完成最后1/6的航程。 

     方法二: 

    1、【加油】A、B、C、D同时从基地起飞,飞到地球1/6处,B、D分别将自己1/3的油加给A、C,这样B、D各剩下1/3油,而A、C满油;

    2、【飞行】B、D用余下的1/3油飞回基地,而A、C满油,再飞到地球的1/6+1/6=1/3处;

    3、【加油】此时,A、C各剩2/3的油,C将自己1/3的油加给A后,C剩1/3的油,而A又是满油;

    4、【飞行】C返航到地球的1/6处,而A可以飞到地球的1/3+1/2=5/6处,也就是地球反方向的1/6处;

    5、【加油】D再次起飞,在地球1/6处与C会合,这时D只剩2/3的油,将1/3的油加给C后,两机各剩1/3的油,能同时返航;

    6、【加油】B再次起飞,在地球反方向1/6处与A会合,这是B只剩2/3的油,将1/3的油加给A后,两机各剩1/3的油,能同时返航。

  • 相关阅读:
    多线程之线程同步中的锁定lock、Monitor(转)
    信号同步
    窗体间传值的最佳方式
    Semaphore的理解
    推荐算法相关
    基于Spark的GBDT + LR模型实现
    基于Spark和Tensorflow构建DCN模型进行CTR预测
    神经网络(未完)
    互联网金融借款违约预测
    Python3基础复习
  • 原文地址:https://www.cnblogs.com/AndyJee/p/4968194.html
Copyright © 2011-2022 走看看