动态规划:装箱问题,要标程!

来源:百度知道 编辑:UC知道 时间:2024/06/28 03:45:43
动态规划:装箱问题,要标程!

program box;
var
i,j,k,l,m ,n : integer;
a : array[0..20001] of integer;
bo : array[0..31] of integer;
v : integer;
begin
readln(v);
readln(n);
fillchar(a,sizeof(a),0);

for i :=1 to n do readln(bo[i]);
for i :=1 to n do
for j := v downto 1 do
if j >= bo[i] then
if a[j] < a[j-bo[i]] + bo[i] then
a[j] := a[j-bo[i]] + bo[i];
l := 0;
for i := 1 to v do
if l < a[i] then l := a[i];
writeln(v-l);
end.

刚刚在vj上测过,100分的。