c 用貪心演算法解決汽車加油問題

2021-09-29 02:35:28 字數 818 閱讀 5202

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...