假設有n項物品,大小分別為s1,s2,...,sn,其中si是整數且滿足:1<=si<=100。要把這些物品裝入到容量為100的一批箱子(序號1~n)中。裝箱方法是:對每項物品si,依次掃描所有這些箱子,把si放入足以能夠容下它的第一個箱子中(first-fit策略)。寫一個程序來模擬這個裝箱的過程。
輸入:
有兩行。第一行是整數n(n<=1000),表示物品的個數;第二行是n個整數si(si<=100),分別表示n個物品的大小
輸出:
每個物品所在的箱子序號,並輸出所需的箱子數目
輸入樣例:
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#include #include using namespace std; int n,a[1005],b[1005],l,m; void qq(int k) { if(k =a[k]) { b[m]=b[m]-a[k]; cout<>n) { for(i=0;i<=1005;i++) b[i]=100; l=0; m=1; for(i=0;i >a[i]; qq(0); printf("所需的箱子數目為%d\n",l); } return 0; }