汽車加油問題

2021-08-13 23:52:02 字數 735 閱讀 3961

【汽車加油問題】一輛汽車加滿油後可以行駛n千公尺。旅途中有k個加油站。若要使沿途的加油次數最少,設計乙個有效的演算法,指出應在那些加油站停靠加油。

資料輸入:由檔案input.txt 給出輸入資料。第一行有2個正整數n和k,表示汽車加滿油後可行駛nkm,且旅途中有k個加油站。接下來1行中,有k+1個整數,表示第k個加油站與第k-1個加油站之間的距離。第0個加油站表示出發地,汽車已加滿油。第k+1個加油站表示目的地。

結果輸出: 將程式設計計算出的最少加油次數輸出到檔案ouput.txt。如果無法到達目的地,則輸出「no solution」。

輸入檔案示例 輸出檔案示例

input.txt output.txt

7 7 4

1 2 3 4 5 1 6 6

要求:

採用貪心演算法,程式設計計算並輸出最少加油次數,以及指出應在那些加油站停靠加油。

#include

void greedy(int a,int n,int k)

}fprintf(fpwrite,"在這些加油站停靠加油:");

for(int j=0,s=0;j<=k;j++)

}fprintf(fpwrite,"\n最少加油次數:%d\n",num);

fclose(fpwrite);

}int main()

新建input.txt和output.txt,然後就執行結果就可以在output.txt中看到。

汽車加油問題

time limit 1000ms memory limit 65536k 有疑問?點這裡 一輛汽車加滿油後可行駛n公里。旅途中有若干個加油站。設計乙個有效演算法,指出應在哪些加油站停靠加油,使沿途加油次數最少。並證明演算法能產生乙個最優解。對於給定的n和k個加油站位置,計算最少加油次數。輸入資料的...

汽車加油問題

汽車加油問題 一輛汽車加滿油後可以行駛n公里,旅途中有加油站,設計乙個有效演算法,指出應在哪些加油站停靠加油,使沿途加油次數最少。測試用例 7 7 n k 1 2 34 5 1 6 6 第k個加油站與第k 1個加油站之間的距離,其中第乙個代表起點,最後乙個代表終點。輸出 4 最少加油次數 解 汽車加...

汽車加油問題

time limit 1000 ms memory limit 65536 kib submit statistic problem description 一輛汽車加滿油後可行駛n公里。旅途中有若干個加油站。設計乙個有效演算法,指出應在哪些加油站停靠加油,使沿途加油次數最少。並證明演算法能產生乙個...