HDOJ 3496 Watch The Movie
2013-07-24 16:50
246 查看
本题为二维费用背包。注意事项在代码中
#include<stdio.h> #include<string.h> #include<stdlib.h> #include<math.h> #define max(a,b) (a)>(b)?(a):(b) #define min(a,b) (a)<(b)?(a):(b) #define PINF 0x7FFFFFFF #define NINF -0x7FFFFFFF int n,m,l; int val[105],cost[105],r[105][1005]; int main() { int i,j,t,k,ma; scanf("%d",&t); while(t--) { ma=0; memset(r,-1,sizeof(r));//注意赋值 scanf("%d%d%d",&n,&m,&l); for(i=0;i<n;i++) scanf("%d%d",&cost[i],&val[i]); r[0][0]=0; for(i=0;i<n;i++) { for(k=l;k>=cost[i];k--) for(j=m;j>=1;j--)//降序 { if(r[j-1][k-cost[i]]!=-1)//注意条件 r[j][k]=max(r[j][k],r[j-1][k-cost[i]]+val[i]); } } for(j=0;j<=l;j++) if(r[m][j]>ma)ma=r[m][j];//在r[m][l]=-1时并不表示看不完m部电影。 printf("%d\n",ma); } return 0; }
相关文章推荐
- 【HDOJ】3496 Watch The Movie
- hdoj 3496 Watch The Movie【二维背包】【DP】
- HDOJ 3496 Watch The Movie (二维背包)
- HDOJ题目3496Watch The Movie(二维背包)
- hdoj Watch The Movie 3496 (二维01背包)好题
- HDOJ 3496 Watch The Movie(二维背包)
- HDOJ3496 Watch The Movie
- HDOJ 3496 Watch The Movie(基本二维背包)
- hdu 3496 Watch The Movie (二维背包简单题)
- HDU 3496 Watch The Movie
- 杭电 hdu 3496 Watch The Movie 二维背包
- hdu 3496 Watch The Movie 二维01背包
- hdu 3496 Watch The Movie (二维费用背包)
- HDU 3496——Watch The Movie
- hdu 3496 Watch The Movie (二维背包)
- HDU 3496 Watch The Movie【二维背包】
- hdu 3496 Watch The Movie
- HDU 3496 Watch The Movie
- hdu 3496 Watch The Movie(二维背包)
- hud 3496 Watch The Movie(二维费用背包)