求算法
有100种不同的物品要通过船只来运,100种商品型号质量体积都不一,要求100种商品分成三份 ,质量在一个区间类 ,体积在一个区间内,这样船能装下,并且不会沉.. 就是说这些零散的物品被组装到船上时体积 不能超过船的能装的体积,第二重量不能超过,不然船沉了,现在用程序来实现,求这些物品有哪些组合是可以的,分成3份哦,每份都是这样的要求
[解决办法]
1,把100种东西按体积排序。
2,从体积最大的开始取,取出来上船,船的容积减这个东西,重量减这个东西,算出剩余位置和重量,在100重东西里按这两个条件筛选,继续放,直到筛不出东西,开船。
3,循环。
[解决办法]
只是100种货物,直接用循环递归慢慢算好了。算法的逻辑是在n种货物中取出1种货物,分别尝试装载到三艘船上,然后再递归剩余的n-1种。
[解决办法]
这个题目是两个框框。体积和质量。
求100个商品的总体积体积和总质量,然后除以三(三只船),这个作为标准。然后按差别最小或者最大的处理
[解决办法]
假设总体积为3V,总重量为3G,选1~100间任意33个数字,分别代表物品号,体积重量分别求和,当∑V,∑G都在v+-10%V,G+-10%G范围内时,装船,再次从余下的67个物品号中选33个,最后余下的为第三船。
[解决办法]
这应该是个装箱算法吧,算法书上有的!!!