pascal语言,用回溯(深搜)做装箱问题,就是01背包

问题描述:

pascal语言,用回溯(深搜)做装箱问题,就是01背包
有一个箱子容量为V,同时有N个物品,每个物品有一个体积 (正整数).要求从M个物品中,任取若干个装入箱内,使箱子的剩余空间为最小.
1个回答 分类:综合 2014-11-19

问题解答:

我来补答
program kas;
var a:array[1..10000] of integer;
n,m,i,min:integer;
procedure go(i,sum:integer);
begin
if sum>m then exit;
if min>m-sum then min:=m-sum;
if i=n+1 then exit;
go(i+1,sum+a[i]);
go(i+1,sum);
end;
begin
readln(n,m);
for i := 1 to n do read(a[i]);
min:=maxint;
go(1,0);
writeln(min);
end.
给我加分!
 
 
展开全文阅读
剩余:2000