題目如下:
假設有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
1.當前使用的箱子的個數不可能超過當前的貨物數量;2.箱子數即為用到的最大箱子編碼。**如下:
/*
1.當前使用的箱子的個數不可能超過當前的貨物數量
*/ #if 1
#include using namespace std;
const int maxn=1e3+5;
int a[maxn];
int main()
} }cout
}#endif
問題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個整數,表示箱子剩餘空...