装箱问题C语言实现(算法分析报告)_第1页
装箱问题C语言实现(算法分析报告)_第2页
装箱问题C语言实现(算法分析报告)_第3页
装箱问题C语言实现(算法分析报告)_第4页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

标准实用算法分析题目:装箱(BinPacking)问题院别:数学与计算科学学院专业:信息与计算科学姓名:蒋文明学号: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的,那么还剩下 3个3*3的空间可以放,我们知道可以放 5个2*2的和7个1*1的,对于放了2个

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论