ZOJ2972-Hurdles of 110m
来源:互联网 发布:js中怎么给input赋值 编辑:程序博客网 时间:2024/05/16 17:42
dp[i][j],跨过i个栏,用了j点体力时的最小时间
dp[0][j]=0
#include<cstdio>#include<cstring>#include<cmath>#include<iostream>using namespace std;#define INF 0x3f3f3f3fint main(){#ifdef TESTfreopen("in.in","r",stdin);#endifint t,n,m;int t1[200],t2[200],t3[200],f1[200],f2[200];int dp[200][200];scanf("%d",&t);while(t--){scanf("%d%d",&n,&m);for(int i=1;i<=n;i++){scanf("%d%d%d%d%d",t1+i,t2+i,t3+i,f1+i,f2+i);}memset(dp,INF,sizeof(dp));/*dp[0][m]=0;dp[1][m]=t2[1];dp[1][m-f1[1]]=t1[1];*/memset(dp[0],0,sizeof(dp[0]));for(int i=1;i<=n;i++){for(int j=0;j<=m;j++){if(j>=f1[i])dp[i][j-f1[i]]=min(dp[i][j-f1[i]],dp[i-1][j]+t1[i]);dp[i][j]=min(dp[i-1][j]+t2[i],dp[i][j]);int f=(j+f2[i])>=m?m:j+f2[i];dp[i][f]=min(dp[i-1][j]+t3[i],dp[i][f]);}}int ans=INF;for(int i=0;i<=m;i++){/*printf("%d\n",dp[n][i]);*/ans=ans>dp[n][i]?dp[n][i]:ans;}printf("%d\n",ans);}}
0 0
- zoj2972 Hurdles of 110m
- ZOJ2972-Hurdles of 110m
- ZOJ2972-Hurdles of 110m
- ZOJ - 2972 Hurdles of 110m
- BNU16491:Hurdles of 110m(DP)
- ZOJ 2972 Hurdles of 110m(DP)
- zoj 2972 - Hurdles of 110m
- ZOJ - 2972-Hurdles of 110m-DP
- zoj 2972 Hurdles of 110m
- ZOJ - 2972 Hurdles of 110m
- TOJ hurdles of 110m(DP)
- ZOJ 2972Hurdles of 110m
- ZOJ 2972 Hurdles of 110m
- ZOJ 2972 Hurdles of 110m 解题报告
- zju 2972 Hurdles of 110m(简单的DP)
- zoj 2972 Hurdles of 110m(dp,背包)
- ZOJ Problem Set - 2972 Hurdles of 110m
- [动态规划]ZOJ 2972 Hurdles of 110m
- java保留两位小数
- 自定义QQ5.0侧滑菜单改进版
- mongodb(Windows)安装、测试
- 笔试题2. 求一个数的二进制中1的个数
- POJ - 1065 Wooden Sticks
- ZOJ2972-Hurdles of 110m
- iOS__视频录制
- 随意细解:OC -- 内存管理高级
- Java异常
- Spark入门之六:SparkSQL实战
- java中的private static变量的小心得
- iOS__拍照
- Linux GFS 配置方法及注意事项
- MySql数据库 事务隔离级别