題目描述
乙個旅行家想駕駛汽車以最少的費用從乙個城市到另乙個城市(假設出發時油箱是空的)。給定兩個城市之間的距離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
【分析】
貪心神題…
【**】
//洛谷 p1016 旅行家的預算
#include
#include
#include
#include
#define fo(i,j,k) for(i=j;i<=k;i++)
using
namespace
std;
const
int mxn=1000005;
double dis[mxn],w[mxn];
double d1,c,d2,nowp,mx,yu,ans=0;
int main()
fo(k,now+1,n)
if(w[k]break;
}ans+=((dis[k]-dis[now])/d2-yu)*w[now];
if(flag) yu=c-(dis[k]-dis[now])/d2,ans+=w[now]*yu;
now=k;
if(now==n) break;
}printf("%.2lf\n",ans);
return
0;}
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 計算結果四捨五入至小數...
NOIP1999 旅行家的預算
1046 旅行家的預算 1999年noip全國聯賽普及組noip全國聯賽提高組 時間限制 1 s 空間限制 128000 kb 題目等級 gold 題解 題目描述 description 乙個旅行家想駕駛汽車以最少的費用從乙個城市到另乙個城市 假設出發時油箱是空的 給定兩個城市之間的距離d1 汽車油...