讨论 / 完全不知道哪里错了 只能过4个点
qyk130 2011-11-10 03:31:00
点我顶贴 收藏 删除
var

w,p:array[1..100] of integer;

t:array[0..100,0..1000] of integer;

n,m,i,j,ans:integer;

begin

readln(n,m);

for i:=1 to m do

read(p[i],w[i]);

for j:=1 to n do

for i:=1 to m do

if j>=p[i] then

begin

if (t[i-1,j-p[i]]+w[i])>t[i-1,j] then

t[i,j]:=t[i-1,j-p[i]]+w[i]

else t[i,j]:=t[i-1,j];

end;

for i:=1 to n do if t[m,i]>ans then ans:=t[m,i];

writeln(ans);

end.

#1 聿麟@2011-11-10 03:31:00
回复 删除
好吧

01背包,用dp

查看更多回复
提交回复