1750汽車加油問題(貪心)

2022-07-11 06:36:14 字數 765 閱讀 2943

一輛汽車加滿油後可行駛n公里。旅途中有若干個加油站。設計乙個有效演算法,指出應在哪些加油站停靠加油,使沿途加油次數最少。並證明演算法能產生乙個最優解。

對於給定的n和k個加油站位置,計算最少加油次數。

輸入資料的第一行有2 個正整數n和k(n≤5000,k≤1000),表示汽車加滿油後可行駛n公里,且旅途中有k個加油站。接下來的1 行中,有k+1 個整數,表示第k個加油站與第k-1 個加油站之間的距離。第0 個加油站表示出發地,汽車已加滿油。第k+1 個加油站表示目的地。

將計算出的最少加油次數輸出。如果無法到達目的地,則輸出「no solution!」。

input

7 7

1 2 3 4 5 1 6 6

output
4
1 #include 2 #include 

3 #include 4 #include 5

6#define inf 0x3f3f3f3f78

using

namespace

std;910

intmain()

1119 cur =k;

20 num = 0;21

for(i=0;i1;i++)

2228 cur -=a[i];

29if(cur<0) break;30

}31if(i1) cout << "

no solution!

"<32else cout << num <33return0;

34 }

汽車加油問題(貪心)

題目 問題描述 一輛汽車加滿油後可行駛nkm。旅途中有若干加油站。設計乙個有效演算法,指出應在哪些加油站停靠加油,使沿途加油次數最少。演算法設計 對於給定的n和k個加油站位置,計算最少加油次數。資料輸入 n 表示汽車加滿油後可行駛nkm k 旅途中有k個加油站 k 1個整數 表示第k個加油站與第k ...

汽車加油問題 貪心

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

汽車加油問題 貪心

一輛汽車加滿油後可行駛nkm 旅途中有k個加油站。設計乙個有效演算法,指出應在哪些加油站停靠加油,使沿途加油次數最少。並計算最少加油次數。根據貪心演算法的貪心選擇性質,為了要使加油次數最少,就會選擇離加滿油的點遠一點的加油站加油。另外,當加滿油之後,都要是此後的過程中使加油次數最少。每一次汽車中剩下...