7 2 裝箱問題

2021-08-17 06:11:41 字數 801 閱讀 9938

n項物品,大小分別為s​

1​​、

s​2​

​、…、s​

i​​、…、s​

n​​,其中s​

i​​為滿足1≤

s​i​

​≤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個整數,表示箱子剩餘空...