free pascal 背包可放重量S,有N件物品,重量为X1、X2.Xn,数是整数,从n件物品中选取几件,使重量和正好为S.

来源:学生作业学帮网 编辑:学帮网 时间:2024/05/19 08:23:35

free pascal
背包可放重量S,有N件物品,重量为X1、X2.Xn,数是整数,从n件物品中选取几件,使重量和正好为S.

var t,m,i,j,a,b:integer;
w:array[0..1000] of integer;
begin
readln(t,m);
fillchar(w,sizeof(w),0);
for i:=1 to m do begin
readln(a,b);
for j:=t-a downto 0 do if (w[j]+b)>w[j+a] then w[j+a]:=w[j]+b;
end;
writeln(w[t]);
end.