编程是一个脑力活,适当的做一些智力题可以锻炼脑子,本专栏收录了一些既有趣味性又可以锻炼脑子的智力题,还望大家在闲暇之余可以锻炼锻炼脑子,增强自己编程内功。如果对大家有帮助,别忘了三连支持哟!
目录
✨前言✨:
✨题目✨
✨思路分析✨
💎具体方法的讲解💎
✨题目✨💡:每个飞机只有一个油箱,飞机之间可以相互加油(注意是相互,没有加油机)一箱油可供一架飞机绕地球飞半圈。 问题:为使至少一架飞机绕地球一圈回到起飞时的飞机场,至少需要出动几架飞机?(所有飞机从同一机场起飞, 而且必须安全返回机场,不允许中途降落,中间没有飞机场)
✨思路分析✨🔑图例:
🔑:现在我们假设要让A号飞机环游地球,由于1架满油飞机只能飞半圈,所以必须有其它飞机护航给A加油,但由于在保证一架飞机能安全返回机场的基础上,一架满油飞机最远航程是从0到2或者从0到6.
🔑:这也就意味着若A飞机从0顺时针飞一圈的过程中,在2到6的过程中是处于孤立无援的,没有任何飞机能给A加油,所以我们必须要保证A飞机在2时必须是满油状态。
💎具体方法的讲解💎最少3架飞机,我们先对其编号为A,B,C,目的是让A飞机环绕地球一圈。先让三架飞机同时从0起飞按顺时针的方向飞行,到1号位置时,A,B,C均消耗了1/4的油,此时让C飞机加满A,B两架飞机,然后C飞机恰好能够返回机场进行加油,然后让A,B两架飞机从1一起飞到2,两架飞机均消耗了1/4的油,让B飞机给A飞机加满油,然后B飞机恰好飞回机场。此时A飞机到达2时满油,让A飞机从2飞到6,在这个过程中,我们让B飞机从0到6,让A,B飞机刚好到达6号位置相遇,此时A飞机无油,B飞机只剩一半油,让A,B平分油后,一同飞到7处,在这个过程中,让C号飞机从0飞到7位置进行接应,C与A,B相遇时,给A,B均加上1/4的油,然后一同飞回机场。在整个过程中只出动了三架飞机,而两架飞机无论如何都完成不了,所以至少需要两架飞机。
这题还是十分值得回味的,尤其是相互加油的逻辑,以及半圈过程孤立无援都是需要细致思考,希望能帮大家锻炼思维。
由于本人水平十分有限,若有错误请即使告知!如果有帮助别忘了,万分感谢。
点赞👍 收藏✨ 关注✌