有一个飞机厂,有N个飞机,每个飞机只能装一桶油,每一桶油,只能饶地球飞行半圈,飞机可以互相空中加油,为了使一架飞机能饶地球飞行一圈,要出动多少飞机,其他所有的都要平安返回 请给出算法或者解决方法

解决方案 »

  1.   

    转载:
    说明:
    1、飞机1、飞机2等飞机n为飞机的个数
    2、把整个圆(飞行轨道)周等分为8份,分别定为O点(起飞点),依次为A、B、C、D、E、F、G
    设想一下,按题目要求一架飞机要想不加油安全的飞并且安全返回,能飞行最远距离是一个圆周的1/4,既飞行度距离是OB;如果给另外一架飞机加油的话它只能飞行1/8的距离OA。这些前提的存在,再根据题意就可推出如下的飞行放案:
    1、首先同时从O点起飞三架飞机,当他们飞到A点时,飞机1、飞机2将继续飞行,飞机三给飞机1、飞机2加油,各加1/4的油,这样飞机1和飞机2就满油了;飞机3用剩下的1/4(飞到A点已经用去了1/4的油)的油刚好能飞回起点。
    2、飞机1、飞机2继续飞行。飞到B点时,飞机1将继续飞行,飞机2给飞机1加油,加1/4的油,这样飞机1的油箱又会加满油;飞机2用剩下的2/4(飞到B点又用去了1/4的油再加上给飞机1加的1/4油)的油刚好飞回起点。
    3、飞机1继续飞行,因为满油,所以可以飞半圈飞到F点。
    4、当飞机1飞到D点的时刻,同时从O点反方向派出三架飞机,飞机4、飞机5、飞机6。这样能保证飞机1飞到F点时刚好有两架飞机到达F点。(飞机4、飞机5、飞机6是沿着OG的方向飞行)
    5、当飞机4、飞机5、飞机6飞到G点时,飞机6同时给飞机4、飞机5加油。飞机4、飞机5满油继续飞,飞机6安全飞回O点。
    6、飞机1、飞机4、飞机5同时飞到F点,此时刻各加飞机的油料为
         飞机1——0        飞机4——3/4        飞机5——3/4
    这下就方便了,飞机4和飞机5分别给飞机1一点点1/4的油料,三架飞机就安全的飞回O点了。
    至此,飞机1完成了环球飞行,并且其他飞机也都安全到达起飞点,总共派出了6架飞机。