讨论 / 哪个大牛来看看
a646570013 2008-10-08 04:44:00
点我顶贴 收藏 删除
program school;

type

date=record

x,y,s:longint;

end;

sz=record

h,r:longint;

w:array[0..4000001]of date;

end;

const

c:array[1..4,1..2]of integer=((0,1),(0,-1),(1,0),(-1,0));

var

a:array[0..2001,0..2001]of integer;

b:sz;

i,j,n,m:longint;

zd,qd,s1,s2:date;

ch:char;

procedure chu;

begin

b.h:=1;

b.r:=0;

end;

procedure int(a:date);

begin

inc(b.r);

b.w[b.r]:=a;

end;

function outt:date;

begin

outt:=b.w[b.h];

inc(b.h);

end;

begin

readln(n,m);

for i:=1 to n do

for j:=1 to n do

read(a[i,j]);

readln(qd.x,qd.y);

readln(zd.x,zd.y);

qd.s:=0;

chu; int(qd);

while b.h<=b.r do

begin

s1:=outt;

for i:=1 to 4 do

begin

s2.x:=s1.x+c[i,1];

s2.y:=s1.y+c[i,2];

s2.s:=s1.s+1;

if (s2.x=zd.x) and (s2.y=zd.y)

then begin

write(s2.s);

readln;

exit;

end;

if a[s2.x,s2.y]=0

then begin

int(s2);

a[s2.x,s2.y]:=1;

end;

end;

end;

writeln(’No Answer!’);

readln;

end.

哪儿错了啊,谁给我改一下,感谢啊

#1 a646570013@2008-10-06 06:07:00
回复 删除
测试结果1: 通过本测试点|有效耗时156:ms

测试结果2: 输出过少|用户输出数据少于标准输出的50%[标准输出10位|选手输出2位]

测试结果3: 输出过少|用户输出数据少于标准输出的50%[标准输出10位|选手输出2位]

测试结果4: 通过本测试点|有效耗时47:ms

测试结果5: 运行错误|普通保护错误

测试结果6: 通过本测试点|有效耗时156:ms

测试结果7: 输出过少|用户输出数据少于标准输出的50%[标准输出10位|选手输出2位]

测试结果8: 通过本测试点|有效耗时172:ms

测试结果9: 运行错误|普通保护错误

测试结果10: 输出过少|用户输出数据少于标准输出的50%[标准输出10位|选手输出1位]

补充下,这是测试结果

#2 酷炫的狼@2008-10-07 04:55:00
回复 删除
看不懂
#3 酷炫的狼@2008-10-07 05:35:00
回复 删除
竟敢在此提问我要告诉老大!!!!!!!!
#4 酷炫的狼@2008-10-08 03:40:00
回复 删除
读错了,两个N的循环!!!!!!!!!
#5 a646570013@2008-10-08 03:41:00
回复 删除
还有捏,改了对6个
#6 酷炫的狼@2008-10-08 03:51:00
回复 删除
把边界设为1防止走出边界!!!!!!!!!!
#7 a646570013@2008-10-08 03:54:00
回复 删除
现在90分了
#8 a646570013@2008-10-08 04:44:00
回复 删除
搞定了,AC
查看更多回复
提交回复