- 设有n个货物要装入若干个容量为C的集装箱以便运输,这n个货物的体积分别是{S1, S2, …, Sn},且有si<C(1≤i≤n)。为节省运输成本,用尽可能少的集装箱为装运这n个货物。分别采用以下两种贪心策略对其进行求解:
- 最先适宜策略(firstfit):首先将所有的集装箱初始化为空,对于所有货物,按照所给的次序,每次将一个货物装入第一个能容纳它的集装箱中;
- 最优适宜策略(bestfit):总是把货物装到能容纳它,且目前剩余容量最小的集装箱中,使得该箱子装入货物后闲置空间最小。
分别实现上述两个策略。
提示:
- 输入n个货品的体积,以及每个集装箱的大小C
- 输出两种策略下需要的集装箱个数
对最先适宜策略,每次放新货物,从已装的箱子中依次搜索能容纳货物的箱子,找到合适的立马装上并进行下一个货物的装放;对最优适宜策略,每次放新货,都要对所有