首页 > 分享 > 背包型动态规划1014装箱问题

背包型动态规划1014装箱问题

最新推荐文章于 2024-03-21 16:07:23 发布

zx_love 于 2014-08-05 15:05:45 发布

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。

题目描述 Description
有一个箱子容量为V(正整数,0<=V<=20000),同时有n个物品(0<n<=30),每个物品有一个体积(正整数)。
要求n个物品中,任取若干个装入箱内,使箱子的剩余空间为最小。
输入描述 Input Description
一个整数v,表示箱子容量
一个整数n,表示有n个物品
接下来n个整数,分别表示这n 个物品的各自体积
输出描述 Output Description
一个整数,表示箱子剩余空间。
样例输入 Sample Input
24
6
8
3
12
7
9
7
样例输出 Sample Output

0

分析:简单的01背包,对于每个物体分“装”与“不装”的两种情况,取两者中体积剩下小的一个(而对于这两个的解法类似方法递归求解)。

#include<cstdio>

const int maxn = 35;

int maxv;

int n;

int vn[maxn];

int mi(int x, int y){

return x < y ? x : y;

}

int vleft(int v, int x){

if(x == n - 1){

if(v >= vn[x]) return v - vn[x];

else return v;

}

if(v >= vn[x])

return mi(vleft(v - vn[x], x + 1), vleft(v, x + 1));

else return vleft(v, x + 1);

}

int main(){

scanf("%d%d", &maxv, &n);

for(int i = 0; i < n; i++)

scanf("%d", &vn[i]);

printf("%dn", vleft(maxv, 0));

return 0;

}

相关知识

背包系列问题详解
宠物小精灵之收服(二位费用问题)dp动态规划
===动态规划===
采药——动态规划【Right】
2024年宠物胶囊背包市场评估报告
第九章 动态规划
院落构图、三维空间及动态景深——居住区规划中的情境三要素
#1014 白喉噪鹛
背包宠物
【动态规划】宠物小精灵之收服

网址: 背包型动态规划1014装箱问题 https://m.mcbbbk.com/newsview740505.html

所属分类:萌宠日常
上一篇: 宠物英雄 Pet Heroes
下一篇: 云顶之弈神话宠物怎么获得