time limit: 1000 ms
memory limit: 65536 kib
submit
statistic
problem description
一輛汽車加滿油後可行駛n公里。旅途中有若干個加油站。設計乙個有效演算法,指出應在哪些加油站停靠加油,使沿途加油次數最少。並證明演算法能產生乙個最優解。
對於給定的n和k個加油站位置,計算最少加油次數。
input
輸入資料的第一行有2 個正整數n和k(n≤5000,k≤1000),表示汽車加滿油後可行駛n公里,且旅途中有k個加油站。接下來的1 行中,有k+1 個整數,表示第k個加油站與第k-1 個加油站之間的距離。第0 個加油站表示出發地,汽車已加滿油。第k+1 個加油站表示目的地。
output
將計算出的最少加油次數輸出。如果無法到達目的地,則輸出「no solution!」。
sample input
7 71 2 3 4 5 1 6 6
sample output
4
hint
先檢測各加油站之間的距離,若發現其中有乙個距離大於汽車加滿油能跑的距離,則輸出no solution
否則,對加油站間的距離進行逐個掃瞄,盡量選擇往遠處走,不能走了就讓count++,最終統計出來的count便是最少的加油站數
#include using namespace std;
int dis[1001];//距離
void jiayou(int n,int k)
}cout<>n>>k;
for(int i=0;i<=k;i++)
cin>>dis[i];
jiayou(n,k);
return 0;
}
汽車加油問題
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 最少加油次數 解 汽車加...
汽車加油問題
汽車加油問題 一輛汽車加滿油後可以行駛n千公尺。旅途中有k個加油站。若要使沿途的加油次數最少,設計乙個有效的演算法,指出應在那些加油站停靠加油。資料輸入 由檔案input.txt 給出輸入資料。第一行有2個正整數n和k,表示汽車加滿油後可行駛nkm,且旅途中有k個加油站。接下來1行中,有k 1個整數...