裝箱問題 20 分

2021-10-21 17:09:35 字數 714 閱讀 2383

假設有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;

bool com(int a,int b)

int main ()

} }for (int i=0;isort(number,number+num,com);

//輸出箱子最大的編號(就是箱子數)

printf ("%d\n",number[0]);

return 0;

}

5 8 裝箱問題(20分)

假設有n n項物品,大小分別為s 1s 1 s 2s 2 s is i s ns n 其中s is i 為滿足1 le s i le 1001 s i 10 0的整數。要把這些物品裝入到容量為100的一批箱子 序號1 n n 中。裝箱方法是 對每項物品,順序掃瞄箱子,把該物品放入足以能夠容下它的第乙...

7 50 裝箱問題(20 分)

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

7 11 裝箱問題(20 分)

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