有问题想请教
包装问题,考虑将许多1到1000公斤的物体(随机排成一个队列),打包装到一个个承受1000公斤重量的盒子里里面,要求1.盒子中物体的累计重量不超过1000公斤;
2.每次装盒子,第一个装进盒子的物体,总是队列中的第一个物体;
3.总的盒子数越少越好:
试考虑几种做法:
1.顺序包装: 每次包装队列的前几个(尽可能多的)物体;
2.排队后包装: 物体先按照重量顺序排好队,再包装,但对每个盒子,除第一个物体先装外,剩余的空间,可以装队列中任一个物体;
3.辅助索引后包装: 这些物体没有排序,但你可以另外记下他们按照重量排队后各个物体在重量队列中的顺序,再进行包装;
4.其它辅助手段(up to you);
请实现这几种包装算法,要求:
1.物体总数为1000个,重量随机生成(srand/rand @ stdlib);
2.产生20个物体序列(随机生成重量),对每个物体序列使用不同方法进行包装,打印出所需要的总的盒子数,以便进行比较;
应该没人会做吧