有乙個箱子容量為v(正整數,0<=v<=20000),同時有n個物品(0<n<=30=,每個物品有乙個體積(正整數)。
要求n個物品中,任取若干個裝入箱內,使箱子的剩餘空間為最小。
輸入:第一行是乙個整數v,表示箱子容量
第二行是乙個整數n,表示有n個物品
接下來n行,分別表示這n 個物品的各自體積
乙個整數,表示箱子剩餘空間。
三維狀態影象
var f,v:array[0..20000] of longint;
n,m,i,j,k,sum:longint;
function max(x,y:longint):longint;
begin
if x>y then exit(x);
exit(y);
end;
begin
readln(m);
readln(n);
for i:=1 to n do
readln(v[i]);
for i:=1 to n do
for j:=m downto v[i] do
f[j]:=max(f[j],f[j-v[i]]+v[i]);
writeln(m-f[m]);
end.
裝箱問題(01揹包問題)
有乙個箱子容量為 v,同時有 n 個物品,每個物品有乙個體積 正整數 要求 n 個物品中,任取若干個裝入箱內,使箱子的剩餘空間為最小。輸入格式 第一行是乙個整數 v,表示箱子容量。第二行是乙個整數 n,表示物品數。接下來 n 行,每行乙個正整數 不超過10000 分別表示這 n 個物品的各自體積。輸...
裝箱問題 簡單01揹包問題)
題目描述 description 有乙個箱子容量為v 正整數,0 v 20000 同時有n個物品 0 n 30 每個物品有乙個體積 正整數 要求n個物品中,任取若干個裝入箱內,使箱子的剩餘空間為最小。輸入描述 input description 乙個整數v,表示箱子容量 乙個整數n,表示有n個物品 ...
揹包問題 01揹包 P1049 裝箱問題
p1049 裝箱問題 f i j 把前面 i 件物品放進容量為 j 的揹包當中所獲得的最大價值 現在有 n 件物品,揹包容積為 v 那麼列出狀態轉移方程 f i j max f i 1 j f i 1 j v i w i j v i f i 1 j j v i 0 i 0 or j 0 全域性陣列建...