n項物品,大小分別為s
1、
s2
、…、s
i、…、s
n,其中s
i為滿足1≤
si
≤10
0的整數。要把這些物品裝入到容量為100的一批箱子(序號1-
n)中。裝箱方法是:對每項物品, 順序掃瞄箱子,把該物品放入足以能夠容下它的第乙個箱子中。請寫乙個程式模擬這種裝箱過程,並輸出每個物品所在的箱子序號,以及放置全部物品所需的箱子數目。
輸入第一行給出物品個數n(
≤100
0);第二行給出
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
#include
#include
int main()
if(n == 1)
for(i = 0;i < n;i++)
}if(!flag)
}printf("%d\n",top);
return 0;}
問題A 裝箱問題
思路 思路 根據演算法筆記上01揹包問題的一維形式改編,就僅僅是把每件物品的價值改為1,再未做其他修改,後來發現不行 const int maxn 1001 int dp maxn int w maxn int main for int i 0 i參照別人的答案,進行的思考 首先,狀態轉移方程 dp...
Codeup 問題 A 裝箱問題
問題描述 有乙個箱子的容量為v v為正整數,且滿足0 v 20000 同時有n件物品 0的體積值為正整數。要求從n件物品中,選取若干裝入箱內,使箱子的剩餘空間最小。輸入 1行整數,第1個數表示箱子的容量,第2個數表示有n件物品,後面n個數分別表示這n件 物品各自的體積。輸出 1個整數,表示箱子剩餘空...
練習 問題 A 裝箱問題
問題描述 有乙個箱子的容量為v v為正整數,且滿足0 v 20000 同時有n件物品 0的體積值為正整數。要求從n件物品中,選取若干裝入箱內,使箱子的剩餘空間最小。輸入 1行整數,第1個數表示箱子的容量,第2個數表示有n件物品,後面n個數分別表示這n件 物品各自的體積。輸出 1個整數,表示箱子剩餘空...