发新话题
打印

救我啊,急求一道题的算法!!!!!!!

题目是这样的:7 m/ ]% `6 d7 J0 N% l$ Z1 H
尺寸为A*B*C的长方体集装箱要装入N个小箱,尺寸
6 W8 {6 L% @) h" m8 V; F分别为A1*B1*C1, A2*B2*C2, ..., AN*BN*CN;若
( p% z. ~) D( k6 k全部放入则有可能放不下,问如何选择要放的小箱* E5 w; v, ~: c+ v1 ~" [
使得放入后集装箱剩余体积最小(即充满的体积尽
7 l6 ?! s. Y% w( L7 `. h+ ]可能大)。其中各数据均由键盘或文件读入。输出% J) F! w/ c# [+ Z7 m( l0 ^/ x9 v
所选的小箱代号。
6 B) ]- u( |" G8 b* ?) m) a哪位大侠有这道题的算法思路请大概讲一下,有源程序发来更好!
% `- L5 k: b- E  @1 H# T) ~最好8号前,谢了!!!      

TOP

不好意思,今天才看到这道题目,可能已经救不了你了。5 t. o! n0 \, z" s4 E
穷举是一个办法;
3 ?2 y& l: _2 _* l8 g可借鉴最短路径搜索,不知道有没有帮助。
9 N) {4 }7 d. `' u6 l: Z( K可写三个函数,第一个函数尝试几个长方体放入集装箱所占的空间返回一个值(可使用一种快速光栅算法),第二个函数尝试几次放入几种长方体,几次=!(A*B*C的长方体体积/N)-1 次,并记录,第三个函数比较前面两个函数所得出的不精确记录,算出最大占用空间的方法。
" U  d# b9 T4 V  y或许这个算法速度随着N的增大而变慢,但还是一种比较可行的算法。      
-----------------------------------------
http://www.darkspy.org/blog

自大的人把宗教当迷信,无知的人把迷信当宗教

TOP

发新话题