`

南阳理工OJ 311 完全背包

 
阅读更多
#include<stdio.h>
#include<string.h>
int f[50010];
int m,v;
int c,w;
void dp()
{
    int i;
    for(i=c;i<=v;i++)
        if(f[i]<f[i-c]+w)
            f[i]=f[i-c]+w;
}
int main()
{
    int T;
    int i;
    scanf("%d",&T);
    while(T--)
    {
        memset(f,1<<7,sizeof(f));
        f[0]=0;
        scanf("%d%d",&m,&v);
        for(i=0;i<m;i++)
        {
            scanf("%d%d",&c,&w);
            dp();
        }
        if(f[v]>0)printf("%d\n",f[v]);
        else printf("NO\n");
    }
    return 0;
}

 

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics