P1049 装箱问题

Posted xiongchongwen

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了P1049 装箱问题相关的知识,希望对你有一定的参考价值。

题目描述

有一个箱子容量为VV(正整数,0 \le V \le 200000V20000),同时有nn个物品(0<n \le 300<n30,每个物品有一个体积(正整数)。

要求nn个物品中,任取若干个装入箱内,使箱子的剩余空间为最小。

输入输出格式

输入格式:

 

11个整数,表示箱子容量

11个整数,表示有nn个物品

接下来nn行,分别表示这nn个物品的各自体积

 

输出格式:

 

11个整数,表示箱子剩余空间。

 

输入输出样例

输入样例#1: 复制
24
6
8
3
12
7
9
7
输出样例#1: 复制
0

说明

NOIp2001普及组 第4题

 

#include <cmath>
#include <cstdio>
#include <cstring>
#include <cstdlib>
#include <iostream>
#include <algorithm>
using namespace std;
int main()
    int m,n,w[40];
    int f[20004];
    scanf("%d %d",&m,&n);
    for(int i=1;i<=n;i++)
        scanf("%d",&w[i]);
    
    for(int i=1;i<=n;i++)
        for(int j=m;j>=w[i];j--)
            if(f[j]<f[j-w[i]]+w[i])
                f[j]=f[j-w[i]]+w[i];
            
        
    
    if(m-f[m]<0)cout<<6;return 0;
    printf("%d",m-f[m]);

  

以上是关于P1049 装箱问题的主要内容,如果未能解决你的问题,请参考以下文章

P1049 装箱问题

P1049 装箱问题

P1049 装箱问题

P1049 装箱问题

P1049装箱问题

P1049 装箱问题(01背包)