汽車加油問題
time limit: 1000 ms memory limit: 65536 kib
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
4hint
source
#include using namespace std;
int main()
else if(a[i] > n) //若此加油站距離下一加油站的距離大於加滿油的行駛距離,退出,無解
else //否則,汽車加油,i--,因為還要減去加油站的距離
}if(i < k)
else
cout
}
汽車加油問題 貪心演算法
問題描述 一輛汽車加滿油後可行駛 nkm 旅途中有若干個加油站。設計乙個有效演算法,指出應在哪些加油站停靠加油,使沿途加油次數最少。程式設計任務 對於給定的n和k 個加油站位置,程式設計計算最少加油次數。資料輸入 第1行有 2個正整數n和 k,表示汽車加滿油後可行駛 nkm,且旅途有 k個加油站。接...
汽車加油問題(貪心演算法)
汽車加油問題 time limit 1000 ms memory limit 65536 kib problem description 一輛汽車加滿油後可行駛n公里。旅途中有若干個加油站。設計乙個有效演算法,指出應在哪些加油站停靠加油,使沿途加油次數最少。並證明演算法能產生乙個最優解。對於給定的n...
貪心演算法之汽車加油問題
場景 一 一輛汽車加滿油後可行駛n公里。旅途中有若干個加油站。應在哪些加油站停靠加油,使沿途加油次數最少。汽車行駛過程中,不到萬不得已不加油,應走到自己能走到並且離自己最遠的那個加油站,在那個站加滿油後,將那個加油站作為新的起點,再按照同樣的方法遞迴下去。場景 二 在乙個固定長度的路線上,有多個加油...