讨论 / 简单01背包,为啥2唯不过1维过
zhhyoi 2009-09-02 04:24:00
点我顶贴 收藏 删除
program zhhy;

var n,i,j:longint;

v,w:array[0..100]of longint;

f:array[0..100,0..100]of longint;

function max(x,y:longint):longint;

begin

if x>y then exit(x)

else exit(y);

end;

begin

readln(n);

for i:=1 to n do

read(w[i]);

for i:=1 to n do

read(v[i]);

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

for i:=1 to n do

for j:=99 downto w[i] do

f[i,j]:=max(f[i-1,j],f[i-1,j-w[i]]+v[i]);

writeln(f[n,99]);

readln;

readln;

end.

#1 webeskycn@2009-09-01 09:03:00
回复 删除
数组开大会影响时间。。。

- -!

#2 没13@2009-09-02 04:24:00
回复 删除
不是时间问题,输出错误
查看更多回复
提交回复