1295:装箱问题

简介: 1295:装箱问题

时间限制: 1000 ms         内存限制: 65536 KB

【题目描述】

有一个箱子容量为V(正整数,0≤v≤20000),同时有n个物品(0< n ≤30),每个物品有一个体积(正整数)。

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

【输入】

第一行是一个整数V,表示箱子容量。

第二行是一个整数n,表示物品数。

接下来n行,每行一个正整数(不超过10000),分别表示这n个物品的各自体积。

【输出】

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

【输入样例】

24

6

8

3

12

7

9

7

【输出样例】

0

1. #include <iostream>
2. #include <cstdio>
3. #include <cstring>
4. #include <algorithm>
5. using namespace std;
6. int a[10005],f[20005];
7. int v,n;
8. int main(int argc, char *argv[])
9. {
10.   scanf("%d %d",&v,&n);
11.   for(int i=1;i<=n;i++){
12.     scanf("%d",&a[i]);
13.     for(int j=v;j>=a[i];j--)
14.       f[j]=max(f[j],f[j-a[i]]+a[i]);
15.   }
16.   printf("%d\n",v-f[v]);
17.   return 0;
18. }


相关文章
|
1月前
|
算法 安全 Java
非启发式算法——中国剩余定理
非启发式算法——中国剩余定理
68 0
|
1天前
|
算法 Python 容器
基于最低水平面的三维装箱问题的启发式算法
基于最低水平面的三维装箱问题的启发式算法
2 0
|
1月前
|
调度
乘积线性化问题探析
乘积线性化问题探析
|
1月前
装箱问题(背包问题)
装箱问题(背包问题)
17 0
|
10月前
|
算法
算法提高:计算几何基础 | 详解凸包问题
点集Q的凸包(convex hull)是指一个最小凸多边形,满足Q中的点或者在多边形边上,或者在其内
111 0
算法提高:计算几何基础 | 详解凸包问题
|
机器学习/深度学习 传感器 算法
【装箱问题】基于遗传算法求解三维装箱问题附matlab代码
【装箱问题】基于遗传算法求解三维装箱问题附matlab代码
爬升锥
爬升锥信息图
122 0
爬升锥
LDUOJ——山(计算几何+二分+精度)
LDUOJ——山(计算几何+二分+精度)
75 0