讨论 / 为什么全都是“普通保护错误”。。。。求指点。。。
jifaley 2012-07-15 18:00:00
点我顶贴 收藏 删除
var

l,s,t,m,sum:longint;

a:array[-1..101] of longint;

b:array[-1..10001] of longint;

h:longint;

f:array[-1..10001] of longint;

procedure ini;

var

i:longint;

begin

readln(l);

readln(s,t,m);

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

a[0]:=0; a[m+1]:=l;

end;

procedure work;

var

i,j:longint;

begin

h:=0;

for j:=1 to m+1 do

begin

i:=a[j]-a[j-1];

if i>4*t then

begin

i:=(i-4*t) mod s+4*t;

end;

if j>1 then b[h]:=1;

inc(h,i);

end;

end;

procedure find;

var

i,j:longint;

min:longint;

begin

f[0]:=0;

for i:=1 to s-1 do f[i]:=maxlongint;

for i:=s to h do

begin

min:=maxlongint;

for j:=s to t do

if f[i-j]<min then min:=f[i-j];

f[i]:=min+b[i];

end;

end;

begin

ini;

work;

find;

writeln(f[h]);

end.

#1 9033@2012-07-15 17:43:00
回复 删除
me too

我也是 只过了2个点 剩下的全是普通保护错误

#2 9033@2012-07-15 17:45:00
回复 删除
可能越数组界了吧

可能越数组界了吧

#3 9033@2012-07-15 18:00:00
回复 删除
普通保护错误是内存限制或者边界问题
查看更多回复
提交回复