文章

40

粉丝

512

获赞

13

访问

371.8k

头像
111
Ang VIP
P1567
发布于2020年3月14日 19:57
阅读数 8.7k

#include<bits/stdc++.h>
using namespace std;

int main()
{
    int s,n;
    while(cin>>s>>n)
    {
    int a[1001][101]={0};
    int w[1001]={0},v[1001]={0};
    int c[101]={0}; 
    int k=1;
    for(int i=1;i<=n;i++)
    {
        cin>>w[i]>>v[i];
    }
    for(int i=1;i<=n;i++)
    {
        for(int j=1;j<=s;j++)
        {
            //a[i-1][j-w[i]]+v[i]是将i物品装入背包
            //a[i-1][j]是不装 
            if((j-w[i])>=0)
            {
                    if(a[i-1][j]>=(a[i-1][j-w[i]]+v[i]))
                    {
                        a[i][j]=a[i-1][j];
                    }
                    else
                    {
                        a[i][j]=a[i-1][j-w[i]]+v[i];
                    }
            }
            else
            {
                a[i][j]=a[i-1][j];
            }
        
            
        }
    }
    if(a[n][s]!=0)
    {
            printf("%d\n",a[n][s]);
       ...
登录查看完整内容


登录后发布评论

暂无评论,来抢沙发