用分支定界(branch and bound)法解装箱问题

该博客介绍如何运用分支定界(branch and bound)方法来解决装箱问题。给定一个箱子容量和n个物品体积,目标是确定最多能装入箱子的物品数量,同时展示剩余空间。示例输入包括箱子容量10和3个物品,体积分别为8、5,输出显示剩余空间为1,意味着可以装入2个物品,剩余空间为9。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

装箱问题
[ 问题描述 ]
有一个箱子容量为 v( 正整数, 0≤v≤20000) ,同时有 n 个物品 (0≤n≤30) ,每个物品有一个体积 ( 正整数 ) 。要求从 n 个物品中,任取若干个装入箱内,使箱子的剩余空间为最小。
[ 样例 ]

输入:

10 一个整数,表示箱子容量

3 一个整数,表示有 n 个物品

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

8

5

输出:

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

 
#include  < iostream >
#include 
< list >

using   namespace  std;
#define  MAX 3

const   int  CAP = 10 ; // 最大容量
const   int  box[MAX] = { 4,8,5} ; // 三个箱子
int  main()
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值