hdu3496

来源:互联网 发布:徕卡全站仪传输软件 编辑:程序博客网 时间:2024/06/16 11:52
/*
分析:
    二维背包的简单题。


                               2012-07-18
*/








#include"stdio.h"#include"string.h"struct A{int price;int val;}E[111];int max(int a,int b){return a>b?a:b;}int main(){int T;int n,m,L;int i,l,j;int dp[111][1011];scanf("%d",&T);while(T--){scanf("%d%d%d",&n,&m,&L);for(i=1;i<=n;i++)scanf("%d%d",&E[i].price,&E[i].val);memset(dp,-1,sizeof(dp));for(j=0;j<=L;j++)dp[0][j]=0;for(i=1;i<=n;i++){for(l=m;l>=1;l--)                        //从大到小{for(j=L;j>=E[i].price;j--)           //从大到小{if(dp[l-1][j-E[i].price]==-1)break;dp[l][j]=max(dp[l][j],dp[l-1][j-E[i].price]+E[i].val);}}}if(dp[m][L]==-1)printf("0\n");elseprintf("%d\n",dp[m][L]);}return 0;}


原创粉丝点击