pta基本題目集 裝箱問題 (20 分)

2021-09-10 14:24:19 字數 912 閱讀 9842

7-32 裝箱問題 (20 分)

假設有n項物品,大小分別為s​1​​、s​2​​、…、s​i​​、…、s​n​​,其中s​i​​為滿足1≤s​i​​≤100的整數。要把這些物品裝入到容量為100的一批箱子(序號1-n)中。裝箱方法是:對每項物品, 順序掃瞄箱子,把該物品放入足以能夠容下它的第乙個箱子中。請寫乙個程式模擬這種裝箱過程,並輸出每個物品所在的箱子序號,以及放置全部物品所需的箱子數目。

輸入第一行給出物品個數n(≤1000);第二行給出n個正整數s​i​​(1≤s​i​​≤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

解析:對於這道題我的第乙個思路是,s[i]表示第i個物體的大小,a[j]表示第j個箱子的載滿程度,利用下標j來表示物體在哪個箱子裡,也就是物體所在 箱子的序號。但是**中j的大小有問題,無法正確表示,只能實現前幾個序號遞增的,沒法迴圈遍歷所有箱子,目前尚需改正。**如下:

#include

using namespace std;

int main(),m=0; //s[1010]存放每個物體大小 ,a[1010]為箱子 

cin>>n;

for(i=0;i>s[i];

a[1]=s[0];

cout<100)

else a[j]+=s[i];

cout

}cout

}

PTA 裝箱問題 20分 貪心

假設有n項物品,大小分別為s 1 s 2 s i s n 其中s i 為滿足1 s i 100的整數。要把這些物品裝入到容量為100的一批箱子 序號1 n 中。裝箱方法是 對每項物品,順序掃瞄箱子,把該物品放入足以能夠容下它的第乙個箱子中。請寫乙個程式模擬這種裝箱過程,並輸出每個物品所在的箱子序號,...

PTA 7 5 裝箱問題(20 分)

7 5 裝箱問題 20 分 假設有n 項物品,大小分別為s 1 s 2 s i s n 其中s i 為滿足1 s i 10 0的整數。要把這些物品裝入到容量為100的一批箱子 序號1 n 中。裝箱方法是 對每項物品,順序掃瞄箱子,把該物品放入足以能夠容下它的第乙個箱子中。請寫乙個程式模擬這種裝箱過程...

PTA 實驗7 1 13 裝箱問題 20分

實驗7 1 13 裝箱問題 20分 假設有n項物品,大小分別為s 1 s 2 s i s n 其中s i 為滿足1 s i 100的整數。要把這些物品裝入到容量為100的一批箱子 序號1 n 中。裝箱方法是 對每項物品,順序掃瞄箱子,把該物品放入足以能夠容下它的第乙個箱子中。請寫乙個程式模擬這種裝箱...