P1016 旅行家的預算

2021-09-29 00:03:21 字數 1202 閱讀 5331

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

第一行,d1d1,cc,d2d2,pp,nn。

接下來有nn行。

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

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

輸入 #1複製

275.6 11.9 27.4 2.8 2

102.0 2.9

220.0 2.2

輸出 #1複製

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

//

// created by administrator on 2019/10/25.

//#include using namespace std;

// d代表第i個站距離原點多遠

// pi表示第i個站的油價

double d[10],pi[10];

int main(void)

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

}// 這樣就可以保證任意兩個加油站都是可以達到的,剩下的就是計算如何省錢

int ii = 0;//當前站之後的可以達到站裡面**最便宜的那個站

// 也可以理解這個ii,就是下一站要去的地點

while(d1 - d0) //當d1 == d0 也就是達到目的地的之後推出

}if(pmin < p)

else if(d1 - d0 > x)

else

l = l - (d[ii] - d0) / d2;

d0 = d[ii];

p = pmin;

pmin = 1000;

}printf("%.2lf",pz);//保留兩位小數輸出

return 0; //愉快地結束了主函式

}

P1016 旅行家的預算

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

P1016 旅行家的預算

h yp erli nk hyperlink hyperl ink de scri ptio ndescription descri ptio n 有乙個人要從乙個地方a aa開車前往另乙個地方b bb,這之間的距離為d1d1 d1車油箱的容量為c cc,每一公升 可以是小數 汽油能使車行駛d2d2...

P1016 旅行家的預算

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