一架飛機載滿油可繞地球飛行半圈,飛機與飛機之間可以相互加油,若全球只有乙個基地,每架起飛的飛機都必須回到基地(直接返回或繞一圈返回),問至少要起落幾架次飛機,才能保證至少有一架飛機安全繞地球飛行一圈,並寫出空中加油方案?
答案: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的油,能同時返航。
挑戰空中加油 1號店B2C電商系統演進之路
適當放棄一致性 在一些實時性要求不高的場合,我們適當放棄一致性要求。這樣就可以充分利用多種手段來提高系統吞吐量,例如頁面快取 分布式資料快取 資料庫讀寫分離 查詢資料搜尋索引化。系統共用元件service化 隨著系統的分拆,各子系統間的重複 越來越多,增加了很多不必要的維護成本。為提高 的復用,降低...