Adventures in Moving - Part IV
题意:
汽车邮箱容量200升,最初有100升油,要求到达终点油箱中的油不少于100升的最小花费,不能到达终点输出Impossible.
汽车走1单位距离消耗1升油。
输入t组数据
输入n表示要求从起点到距离为n的点
输入若干个加油站的a,b,表示加油站距离起点的距离和每升油的价格;
代码:
//dp[i][j]=min(dp[i][j],dp[i-1][j+dis-k]+k*w),dp[i][j]表示到达 //i加油站时还剩j升油,dis表示i到i-1的距离,k(0<=k<=j)表示在i //加油站买多少油,最后要求dp[m][100+n-id[m]]!=inf. #include<iostream> #include<cstdio> #include<cstring> using namespace std; const int inf=0x3f3f3f3f; int dp[110][210],id[110],w[110]; char s[110]; int main() { int t,n; scanf("%d",&t); while(t--){ scanf("%d",&n); getchar(); memset(dp,inf,sizeof(dp)); dp[0][100]=0; int cnt=0; while(gets(s)!=NULL&&s[0]!='