luogu1049 【2001普及】装箱问题(dp)

来源:互联网 发布:linux 统计ip访问流量 编辑:程序博客网 时间:2024/06/05 16:57

f[i]表示能否装出i这个体积。枚举即可。找到能装的最大合法体积。

#include<cstdio>#include<cstring>int v,n,volume[31];bool f[20001];int main(){    //freopen("a.in","r",stdin);    scanf("%d%d",&v,&n);    for(int i=1;i<=n;i++){        scanf("%d",&volume[i]);    }    memset(f,false,sizeof(f));    f[0]=true;    for(int i=1;i<=n;i++){        for(int k=v;k>=volume[i];k--){            f[k]=f[k]||f[k-volume[i]];        }    }    for(int i=v;i>=0;i--){        if(f[i]){            printf("%d",v-i);            break;        }    }    return 0;}
原创粉丝点击