讨论 / 错哪啦??????
侯霜 2008-08-06 18:58:00
点我顶贴 收藏 删除
const maxb=21;

var

c,max:longint;

b,i,j:byte;

a,f:array[1..maxb]of longint;

begin

readln(c,b);

for i:=1 to b do read(a[i]);

fillchar(f,sizeof(f),0);

max:=0;

for i:=1 to b do

if a[i]<=c then

begin

f[i]:=a[i];

for j:=1 to i-1 do

if (f[j]+a[i]<=c)and(f[j]+a[i]>f[i]) then

f[i]:=f[j]+a[i];

if f[i]>max then max:=f[i];

end;

write(max);

end.

#1 wish@2008-08-06 17:41:00
回复 删除
你这背包错太多了

要改的话基本上要全面翻新了

#2 binarie@2008-08-06 18:58:00
回复 删除
又见曹操
查看更多回复
提交回复