发新话题
打印

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

题目是这样的:( Q) X) f* o1 ?$ Z; M5 [7 n5 v
尺寸为A*B*C的长方体集装箱要装入N个小箱,尺寸
; t8 z* X8 Q) R* l- |分别为A1*B1*C1, A2*B2*C2, ..., AN*BN*CN;若6 a, G$ v# Y! y" ?
全部放入则有可能放不下,问如何选择要放的小箱* T/ l8 I; M4 |3 \6 b  N2 p
使得放入后集装箱剩余体积最小(即充满的体积尽* X: ?7 q- p- j& _( o
可能大)。其中各数据均由键盘或文件读入。输出
+ Y/ _( c# ]  T$ j. r; g所选的小箱代号。
/ v- w7 e( l- E# C# n哪位大侠有这道题的算法思路请大概讲一下,有源程序发来更好!. F* g( e9 `. e: o' [, `
最好8号前,谢了!!!      

TOP

不好意思,今天才看到这道题目,可能已经救不了你了。
2 b+ h1 w+ W4 Y- i穷举是一个办法;
8 l4 F, W: c3 O+ C. a3 q可借鉴最短路径搜索,不知道有没有帮助。7 m0 a' @0 [1 P% w* u8 ?
可写三个函数,第一个函数尝试几个长方体放入集装箱所占的空间返回一个值(可使用一种快速光栅算法),第二个函数尝试几次放入几种长方体,几次=!(A*B*C的长方体体积/N)-1 次,并记录,第三个函数比较前面两个函数所得出的不精确记录,算出最大占用空间的方法。
1 z. s5 N3 S& Z+ V- N或许这个算法速度随着N的增大而变慢,但还是一种比较可行的算法。      
-----------------------------------------
http://www.darkspy.org/blog

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

TOP

发新话题