#SY0606. 装箱问题
装箱问题
丝路装箱问题
2026 青少年信息素养大赛 复赛卷四 · 初中组 C++ 第 12 题
题目背景
丝路新城作为海外贸易核心港口,需要将一批出口货物装入标准集装箱运往海外。为节约成本,要求使用最少数量的箱子装完所有货物,且货物不可拆分。
题目描述
给定 n 件货物的重量,每个集装箱最大承重为 8。请计算并输出每个箱子的具体装箱方案和最少需要的箱子总数。
装箱策略:货物按重量从大到小排序,依次尝试放入已有箱子(能放下就放),放不下则开新箱。
输入格式
第一行:一个整数 n(货物数量)
第二行:n 个整数,表示每件货物的重量
输出格式
对于每个箱子输出一行:先输出箱子编号和冒号,再输出箱内货物重量(空格分隔)。最后一行输出箱子总数。
样例输入
6
6 5 4 3 2 1
样例输出
1:6 2
2:5 3
3:4 1
3
数据范围
- 1 ≤ n ≤ 100
- 每件货物重量为 1 ~ 8 之间的整数。