【动态规划】【零一背包】CODEVS 1014 装箱问题 2001年NOIP全国联赛普及组

时间:2014-10-28 11:48:30   收藏:0   阅读:137
 1 #include<cstdio>
 2 #include<algorithm>
 3 using namespace std;
 4 int n,m,w[31],f[30001];
 5 int main()
 6 {
 7     scanf("%d%d",&m,&n);
 8     for(int i=1;i<=n;i++) scanf("%d",&w[i]);
 9     for(int i=1;i<=n;i++)
10       for(int v=m;v>=w[i];v--)
11         f[v]=max(f[v-w[i]]+w[i],f[v]);
12     printf("%d\n",m-f[m]);
13     return 0;
14 }

 

评论(0
© 2014 mamicode.com 版权所有 京ICP备13008772号-2  联系我们:gaon5@hotmail.com
迷上了代码!