首页 > 其他 > 详细

HDU 3496 Watch The Movie

时间:2014-02-07 14:51:59      阅读:388      评论:0      收藏:0      [点我收藏+]

题解:显然的双重背包。

bubuko.com,布布扣
#include <cstdio>
int f[105][1005],v[105],w[105];
int main()
{
    int t,n,m,l;
    scanf("%d",&t);
    while(t--)
    {
        scanf("%d%d%d",&n,&m,&l);
        for(int i=1;i<=n;i++)
        scanf("%d%d",&w[i],&v[i]);
        for(int i=0;i<=m;i++) 
        for(int j=0;j<=l;j++)  
        {  
            if(i==0)f[i][j]=0;  
            else f[i][j]=-987654321;   
        }  
        for(int i=1;i<=n;i++)
         for(int j=m;j>=1;j--)
          for(int k=l;k>=w[i];k--)
            if (f[j-1][k-w[i]]+v[i]>f[j][k]) f[j][k]=f[j-1][k-w[i]]+v[i];
        if (f[m][l]<0)f[m][l]=0;
        printf("%d\n",f[m][l]); 
    }
    return 0;
}
bubuko.com,布布扣

HDU 3496 Watch The Movie

原文:http://www.cnblogs.com/forever97/p/3539227.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!