time limit: 1000 ms memory limit: 65536 kib
一輛汽車加滿油後可行駛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
#include using namespace std;
int main()
; cin>>n>>k;
for(int i=1;i<=k+1;i++)
cin>>a[i];
int s=0; //判斷接下來路程相加是否大於n
int c=0; //加油次數
int t=0; //標記走過的路程
for(int i=0;i<=k+1;i++)
}t+=1;
}if(t==k+2)
cout
cout<<"no solution!"
}
貪心演算法解決汽車加油問題
問題描述 一輛汽車加滿油後可行駛n公里。旅途中有若干個加油站。設計乙個有效演算法,指出應 在哪些加油站停靠加油,使沿途加油次數最少。對於給定的n n 5000 和k k 1000 個加油站位置,程式設計計算最少加油次數。並證明演算法能產生乙個最優解。在哪些加油站停靠加油,使沿途加油次數最少。對於給定...
汽車加油問題 貪心演算法
問題描述 一輛汽車加滿油後可行駛 nkm 旅途中有若干個加油站。設計乙個有效演算法,指出應在哪些加油站停靠加油,使沿途加油次數最少。程式設計任務 對於給定的n和k 個加油站位置,程式設計計算最少加油次數。資料輸入 第1行有 2個正整數n和 k,表示汽車加滿油後可行駛 nkm,且旅途有 k個加油站。接...
汽車加油問題(貪心演算法)
汽車加油問題 time limit 1000 ms memory limit 65536 kib problem description 一輛汽車加滿油後可行駛n公里。旅途中有若干個加油站。設計乙個有效演算法,指出應在哪些加油站停靠加油,使沿途加油次數最少。並證明演算法能產生乙個最優解。對於給定的n...