HDU2602(基础01背包)

来源:互联网 发布:网络错误651调制解调器 编辑:程序博客网 时间:2024/06/02 05:31

最简单的01背包。

#include <iostream>#include <algorithm>#include <string.h>#include <cstdio>using namespace std;const int maxn = 1e3+5;int dp[maxn],w[maxn],v[maxn];int m,n;int k;int main(){    scanf("%d",&k);    while(k--)    {        memset(dp,0,sizeof(dp));        scanf("%d%d",&m,&n);        for(int i=0;i<m;i++)        {            cin  >> v[i] ;        }        for(int i=0;i<m;i++)        {            cin >> w[i];        }        for(int i=0;i<m;i++)        {            for(int j=n;j>=w[i];j--)            {                dp[j]=max(dp[j],dp[j-w[i]]+v[i]);            }        }        cout << dp[n] << endl;    }   return 0;}


原创粉丝点击