NOIP1999 旅行家的預算

2022-05-04 18:18:14 字數 863 閱讀 7598

乙個旅行家想駕駛汽車以最少的費用從乙個城市到另乙個城市(假設出發時油箱是空的)。給定兩個城市之間的距離d1、汽車油箱的容量c(以公升為單位)、每公升汽油能行駛的距離d2、出發點每公升汽油**p和沿途油站數n(n可以為零),油站i離出發點的距離di、每公升汽油**pi(i=1,2,…,n)。計算結果四捨五入至小數點後兩位。如果無法到達目的地,則輸出「no solution」。

輸入格式:

第一行,d1,c,d2,p,n。

接下來有n行。

第i+1行,兩個數字,油站i離出發點的距離di和每公升汽油**pi。

輸出格式:

所需最小費用,計算結果四捨五入至小數點後兩位。如果無法到達目的地,則輸出「no solution」。

輸入樣例#1:

275.6

11.9

27.4

2.82

102.0

2.9220.0

2.2

輸出樣例#1:

26.95

題解:貪心策略就是選擇去最近的比當前站便宜的加油站,若沒有,就在該站把油加滿走最遠的加油站。

#includeint

n;double d1,d2,c,d[101],p[101

],ans,rst;

intmain()

for(int tag=-1,i=0;i<=n;i=tag,tag=-1

)

else

ans+=(c-rst)*p[i];

rst=c-(d[tag]-d[i])/d2;}}

printf(

"%.2lf\n

",ans);

}

NOIP1999 旅行家的預算

乙個旅行家想駕駛汽車以最少的費用從乙個城市到另乙個城市 假設出發時油箱是空的 給定兩個城市之間的距離d1 汽車油箱的容量c 以公升為單位 每公升汽油能行駛的距離d2 出發點每公升汽油 p和沿途油站數n 0 n 100 油站i離出發點的距離di 每公升汽油 pi i 1,2,n 計算結果四捨五入至小數...

NOIP1999 旅行家的預算

乙個旅行家想駕駛汽車以最少的費用從乙個城市到另乙個城市 假設出發時油箱是空的 給定兩個城市之間的距離d1 汽車油箱的容量c 以公升為單位 每公升汽油能行駛的距離d2 出發點每公升汽油 p和沿途油站數n 0 n 100 油站i離出發點的距離di 每公升汽油 pi i 1,2,n 計算結果四捨五入至小數...

NOIP 1999 旅行家的預算

題目描述 乙個旅行家想駕駛汽車以最少的費用從乙個城市到另乙個城市 假設出發時油箱是空的 給定兩個城市之間的距離d1 汽車油箱的容量c 以公升為單位 每公升汽油能行駛的距離d2 出發點每公升汽油 p和沿途油站數n n可以為零 油站i離出發點的距離di 每公升汽油 pi i 1,2,n 計算結果四捨五入...