假設有n項物品,大小分別為s1、s2 、…、si 、…、sn ,其中si 為滿足1≤si≤100的整數。要把這些物品裝入到容量為100的一批箱子(序號1-n)中。裝箱方法是:對每項物品, 順序掃瞄箱子,把該物品放入足以能夠容下它的第乙個箱子中。請寫乙個程式模擬這種裝箱過程,並輸出每個物品所在的箱子序號,以及放置全部物品所需的箱子數目。
輸入第一行給出物品個數n(≤1000);第二行給出n個正整數si(1≤si≤100,表示第i項物品的大小)。
按照輸入順序輸出每個物品的大小及其所在的箱子序號,每個物品佔1行,最後一行輸出所需的箱子數目。
8
60 70 80 90 30 40 10 20
60 1
70 2
80 3
90 4
30 1
40 5
10 1
20 2
5
#include
using
namespace std;
typedef
struct
object;
typedef
struct
box;
intmain()
else
for(
int i=
0; i)else}}
for(
int x=
0; xcout<}return0;
}
#include
typedef
struct
object;
typedef
struct
box;
intmain()
else
for(
int i=
0; i)else}}
for(
int x=
0; xprintf
("%d"
,number);}
return0;
}
PTA 裝箱問題
假設有n項物品,大小分別為s 1 s2 s i s n,其中s i為滿足1 s i 100的整數。要把這些物品裝入到容量為100的一批箱子 序號1 n 中。裝箱方法是 對每項物品,順序掃瞄箱子,把該物品放入足以能夠容下它的第乙個箱子中。請寫乙個程式模擬這種裝箱過程,並輸出每個物品所在的箱子序號,以及...
PTA裝箱問題
一 題目描述 二 解題思路 這道題是乙個貪心的問題。不能想當然的直接按照面積直接裝,因為箱子是乙個整個的,不可以分開。首先是6 6的箱子,你可以直接裝 然後是5 5的箱子,你在裝完乙個5 5之後,最多只能再裝11個1 1,是1 1盡量往這裡面裝。一直到5 5的箱子裝完 然後是4 4的箱子,裝完乙個4...
PTA 裝箱問題 20分 貪心
假設有n項物品,大小分別為s 1 s 2 s i s n 其中s i 為滿足1 s i 100的整數。要把這些物品裝入到容量為100的一批箱子 序號1 n 中。裝箱方法是 對每項物品,順序掃瞄箱子,把該物品放入足以能夠容下它的第乙個箱子中。請寫乙個程式模擬這種裝箱過程,並輸出每個物品所在的箱子序號,...