【POJ3628】Bookshelf 2 01背包,水题

来源:互联网 发布:经济衰退 知乎 编辑:程序博客网 时间:2024/04/27 19:48

就是在说给你几种物品,然后做01背包,不比它给出的B小的第一个状态是多少。

直接看代码吧,太水了。

#include <cstdio>#include <cstring>#include <algorithm>#define N 25#define M 1001000using namespace std;int n,m;bool f[M];int main(){//freopen("test.in","r",stdin);int i,j,p,a,b;while(scanf("%d%d",&n,&m)!=EOF){memset(f,0,sizeof(f));f[0]=1;p=0x3f3f3f3f;for(i=1;i<=n;i++){scanf("%d",&a);for(j=m-1;j>=0;j--)if(f[j]){if(j+a<m)f[j+a]=1;else p=min(p,j+a-m); }}printf("%d\n",p);}return 0;}


0 0
原创粉丝点击