同规格装箱问题c语言算法,装箱问题C语言实现(算法分析报告)(4页)-原创力文档...

标准实用

算法分析

题 目: 装箱( Bin Packing )问题

院 别: 数学与计算科学学院

专 业: 信息与计算科学

姓 名: 蒋文明

学 号: 0800710313

指导老师: 宁黎华

日 期: 2011. 06. 9

文案大全

标准实用

目 录

一、 问题描述 1

二、 问题分析 1

三、 代码实现 2

四、 测试结果 3

五、 心得体会 4

六、 源程序 4

文案大全

标准实用

文案大全

标准实用

一、 问题描述

一个工厂制造的产品形状都是长方体,它们的高度都是 h ,长和宽都相

等,一共有六个型号,他们的长宽分别为 1*1 , 2*2 , 3*3 , 4*4 , 5*5 ,

6*6. 这些产品通常使用一个 6*6*h 的长方体包裹包装然后邮寄给客户。 因

为邮费很贵,所以工厂要想方设法的减小每个订单运送时的包裹数量。他

们很需要有一个好的程序帮他们解决这个问题从而节省费用。

二、 问题分析

对于 6*6 的一个箱子来说,最多只能放一个 6*6 或一个 5*5 或 4*4 的

盒子,所以我们初始化需要的箱子数时就是这这几种箱子的个数和,对于

3*3 的箱子来说,我们可以放一个或 2 个或 3 个或 4 个,这我们可以通过

整除和取模来确定放了 3*3 盒子的箱子数,再把它加入到总箱子数中,接

下来我们就是把 1*1 和 2*2 的盒子塞进前面所需的箱子中,当塞不完时再

来新增盒子, 我们首先要将前面的箱子剩余的空间统计出来, 并且要以 2*2

的优先考虑,因为我们可以把多余的 2*2 的位置变为填充 4 个 1*1 的,毕

竟 1*1 的只要有空间随处都可以塞。所以当我们的箱子要是装了 1 个 5*5

的盒子的话,那么它就只能塞 1*1 的了,一个可以塞 11 个 1*1 的,对于

装了 4*4 的盒子的话,那么还可以装 5 个 2*2 的盒子,暂且不要去转话成

1*1 的,除非没办法只能装 1*1 的,对于 3*3 的话就可以根据取模之后一

个箱子剩下的空间了,如果一个箱子中只放了一个 3*3 的,那么还剩下

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值