讨论 / 汗颜。。。。一般性保护错误,是什么意思?
liye14 2011-07-31 02:50:00
点我顶贴 收藏 删除
var

n,t,i,j:longint;

q1,q2,w1,w2:array[1..30] of longint;

f:array[0..1080000] of longint;

begin

readln(n,t);

for i:=1 to n do

readln(w1[i],q1[i],w2[i],q2[i]);

for i:=1 to n do

begin

for j:= t downto q1[i] do

begin

if f[j-q1[i]]+w1[i]>f[j] then f[j]:=f[j-q1[i]]+w1[i];

if f[j-q2[i]]+w2[i]>f[j] then f[j]:=f[j-q2[i]]+w2[i];

end;

for j:=q1[i]-1 downto q2[i] do

if f[j-q2[i]]+w2[i]>f[j] then f[j]:=f[j-q2[i]]+w2[i];

end;

writeln(f[t]);

end.

#1 yangdong@2010-04-17 09:38:00
回复 删除
这…

这题我没作不过q1[i]一定大于q2[i]否?没说啊…

#2 Aiil@2010-06-28 20:00:00
回复 删除
回复 楼主liye14 的帖子

普通保护错误一般指数组开的范围小了。

#3 Hlog@2011-07-31 02:50:00
回复 删除
是下标越界吗?

我也是这个错误

查看更多回复
提交回复