zoukankan      html  css  js  c++  java
  • UVA 10130

    一个人仅仅能在里面选一件。物品有多件。也就是说不同的人能够选同一个物品,多个0-1背包相加。

    #include<iostream>
    #include<map>
    #include<string>
    #include<cstring>
    #include<cstdio>
    #include<cstdlib>
    #include<cmath>
    #include<queue>
    #include<vector>
    #include<algorithm>
    using namespace std;
    struct node
    {
    	int p,w;
    }a[1010];
    int main()
    {
    	int T,i,j,n,m,bag,ans;
    	int dp[40];
    	cin>>T;
    	while(T--)
    	{
    		ans=0;
    		cin>>n;
    		for(i=0;i<n;i++)
    			cin>>a[i].p>>a[i].w;
    		cin>>m;
    		while(m--)
    		{
    			cin>>bag;
    			memset(dp,0,sizeof(dp));
    			for(i=0;i<n;i++)
    				for(j=bag;j>=a[i].w;j--)
    					dp[j]=max(dp[j],dp[j-a[i].w]+a[i].p);
    			ans+=dp[bag];
    		}
    		cout<<ans<<endl;
    	}
    }


  • 相关阅读:
    python 网络爬虫(三)
    python 网络爬虫(二)
    python 网络爬虫(一)
    python 爬虫原理
    (转)栈的生长方向
    CRC校验
    extern关键字
    E
    The Super Powers UVA
    V
  • 原文地址:https://www.cnblogs.com/claireyuancy/p/6861434.html
Copyright © 2011-2022 走看看