UVA - 10201 Adventures in Moving - Part IV
来源:互联网 发布:ip反查域名工具 编辑:程序博客网 时间:2024/05/29 14:01
状态转移很明显
遗憾只在poj上通过了。。。
#include<cstdio>#include<cstring>#include<algorithm>using namespace std;const int MAXN=110;int main(){ int distance,dp[MAXN][MAXN*2],T,stations,station[MAXN][2]; char input[30]; scanf("%d",&T); while(T--){ stations=0; memset(dp,0X7F,MAXN*MAXN*8); int MAX=dp[0][0],ans=MAX; scanf("%d",&distance); getchar(); while(gets(input)&&input[0]!='\0'){ sscanf(input,"%d %d",&station[stations][0],&station[stations][1]); if(station[stations][0]>distance) continue; if(station[stations][0]==station[stations-1][0]&&station[stations][1]>station[stations-1][1]) stations--; else if(station[stations][0]==station[stations-1][0]&&station[stations][1]<station[stations-1][1]){ stations--; station[stations][1]=station[stations+1][1]; } stations++; } /*for(int i=0;i<stations;i++) printf("%d %d\n",station[i][0],station[i][1]); puts(""); */ if(stations==0){ if(distance>0) printf("Impossible\n"); else printf("0\n"); continue; } if(station[0][0]>100){ printf("Impossible\n"); continue; } for(int i=1;i<stations;i++){ if(station[i][0]-station[i-1][0]>200){ printf("Impossible\n"); goto next; } } if(station[stations-1][0]+100<distance){ printf("Impossible\n"); continue; } for(int i=200;i>=0;i--){ if(i<100-station[0][0]) break; dp[0][i]=(i-100+station[0][0])*station[0][1]; } for(int i=1;i<stations;i++){ for(int j=200;j>=0;j--){ for(int t=station[i][0]-station[i-1][0];t<=200;t++){ if((j-(t-station[i][0]+station[i-1][0]))<0) break; dp[i][j]=min(dp[i][j],dp[i-1][t]+(j-(t-station[i][0]+station[i-1][0]))*station[i][1]); } } } //printf("%d",ans); for(int i=0;i<=200;i++){ if(i-(distance-station[stations-1][0])>=100) ans=min(ans,dp[stations-1][i]); } if(ans==MAX) printf("Impossible\n"); else printf("%d\n",ans); next:{} if(T)printf("\n"); } return 0;}
0 0
- uva 10201 Adventures in Moving - Part IV
- UVA 10201 Adventures in Moving - Part IV
- UVA 10201 Adventures in Moving - Part IV
- UVA 10201 Adventures in Moving - Part IV
- uva 10201 Adventures in Moving - Part IV
- UVA - 10201 Adventures in Moving - Part IV
- uva 10201 - Adventures in Moving - Part IV
- UVA - 10201 Adventures in Moving - Part IV
- UVA - 10201 Adventures in Moving - Part IV
- UVA - 10201 Adventures in Moving - Part IV
- uva 10201 Adventures in Moving - Part IV
- uva--UVA 10201Adventures in Moving - Part IV
- Adventures in Moving - Part IV+uva+dp
- UVA 10201 Adventures in Moving - Part IV(dp)
- uva 10201 - Adventures in Moving - Part IV(dp)
- UVA 10201 Adventures in Moving - Part IV 车站加油 dp
- Adventures in Moving - Part IV - UVa 10201 dp
- UVA 10201 Adventures in Moving - Part IV(动态规划)
- ios 类变量与实例变量区别
- 字符串转换函数
- 如何使用Intent传递对象
- BZOJ 3007 拯救小云公主 二分答案+对偶图
- 驱动人生2015
- UVA - 10201 Adventures in Moving - Part IV
- 一块钱变成亿万富豪
- 利用kaldi提取mfcc特征
- MySQL的mysqldump工具的基本用法
- IOS 如何调用其他应用程序打开我下载好了的 EXCEL WORD PDF 等
- UVa #11582 Colossal Fibonacci Numbers! (例题10-1)
- c++ rand函数
- phpStorm支持CodeIgniter代码提示/自动完成
- python 中的read,readline,readlines