旅行家的預算

2022-05-10 23:51:10 字數 1235 閱讀 7060

乙個旅行家想駕駛汽車以最少的費用從乙個城市到另乙個城市(假設出發時油箱是空的)。給定兩個城市之間的距離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.8 2

102.0 2.9

220.0 2.2

輸出樣例#1:複製

26.95

n≤6n\le 6n≤6,其餘數字≤500\le 500≤500

考慮在當前加油站i,剩餘油為t

下乙個比i便宜的是j

如果剩餘油直接到j,那麼不加油直接到j

如果不夠,加到正好到j

如果加滿都不夠,那麼加滿

1 #include2 #include3 #include4 #include5

using

namespace

std;

6double d1,c,d2,p,t,d[502],p[502

],ans;

7intn;8

intmain()

9 15 d[n+1]=d1;

16 p[0]=p;

17 t=0;18

for (i=0;i<=n;i++)

1926

for (j=i+1;j<=n;j++)

27if (p[j]break;28

//cout<29

if (t*d2>=(d[j]-d[i]))

3034

else

35if (c*d2>=(d[j]-d[i]))

3641

else

4246

}47 printf("

%.2lf\n

",ans);

48 }

旅行家的預算

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

旅行家的預算

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

旅行家的預算

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