今天上午上机课的时候,看论坛精华贴,第一名的题为“微软面试题”,遂好奇打开来看看,看到第二道题的时候,就想弄个明白,废话不多说,先发下题目:
一道关于飞机加油的问题,已知:每个飞机只有一个油箱,飞机之间可以相互加油(注意是相互),没有加油机一箱油可供一架飞机绕地球飞半圈,
问题:为使至少一架飞机绕地球一圈回到起飞时的飞机场,至少需要出动几架飞机?(所有飞机从同一机场起飞,而且必须安全返回机场,不允许中途降落,中间没有飞机场)
答案是:三架。具体步骤,因为我不善于组织文字,所以做了个表格,相信大家一目了然。
飞机 | |||||||
0 | 1/8 | 1/4 | 1/2 | 3/4 | 7/8 | 1 | |
A | 三架飞机同时起飞 | 分别给B、C加1/4油,剩余1/4,返航 | 满油反方向启航,迎接C | 与C接头,给C加1/4油,自身剩余1/4油,随C返航 | 接受B1/4油 | 抵达 | |
B | 三架飞机同时起飞 | 接受A油,满油状态 | 给C加1/4油,剩余1/2,返航 | 反方向启航,迎接A和C | B在此处与A、C相遇,分别给A、C加1/4油,然后一起返航 | 抵达 | |
C | 三架飞机同时起飞 | 接受A油,满油状态 | 接受B油,满油状态 | 飞过1/2处 | 飞到3/4处,接收A送来的1/4油,飞向7/8处 | 接受B1/4油 | C绕地球一圈,抵达机场 |