7-32 裝箱問題 (20 分)
假設有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
解析:對於這道題我的第乙個思路是,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 } 假設有n項物品,大小分別為s 1 s 2 s i s n 其中s i 為滿足1 s i 100的整數。要把這些物品裝入到容量為100的一批箱子 序號1 n 中。裝箱方法是 對每項物品,順序掃瞄箱子,把該物品放入足以能夠容下它的第乙個箱子中。請寫乙個程式模擬這種裝箱過程,並輸出每個物品所在的箱子序號,... 7 5 裝箱問題 20 分 假設有n 項物品,大小分別為s 1 s 2 s i s n 其中s i 為滿足1 s i 10 0的整數。要把這些物品裝入到容量為100的一批箱子 序號1 n 中。裝箱方法是 對每項物品,順序掃瞄箱子,把該物品放入足以能夠容下它的第乙個箱子中。請寫乙個程式模擬這種裝箱過程... 實驗7 1 13 裝箱問題 20分 假設有n項物品,大小分別為s 1 s 2 s i s n 其中s i 為滿足1 s i 100的整數。要把這些物品裝入到容量為100的一批箱子 序號1 n 中。裝箱方法是 對每項物品,順序掃瞄箱子,把該物品放入足以能夠容下它的第乙個箱子中。請寫乙個程式模擬這種裝箱...PTA 裝箱問題 20分 貪心
PTA 7 5 裝箱問題(20 分)
PTA 實驗7 1 13 裝箱問題 20分