先附主程序
for i:=1 to n do
for j:=m downto 0 do
for k:=0 to s[i] do
begin
if j-k*v[i]<0 then break;
f[j]:=max(f[j],f[j-k*v[i]]+k*w[i]);
end;
这个for j:=m downto 0 do不对吧,j=1的时候j-k*v[i]会小于0啊,但是实际运行没有超界啊,怎么回事?
for i:=1 to n do
for j:=m downto 0 do
for k:=0 to s[i] do
begin
if j-k*v[i]<0 then break;
f[j]:=max(f[j],f[j-k*v[i]]+k*w[i]);
end;
这个for j:=m downto 0 do不对吧,j=1的时候j-k*v[i]会小于0啊,但是实际运行没有超界啊,怎么回事?