各位大神帮帮忙
查看原帖
各位大神帮帮忙
7977
noipoyjh楼主2015/10/25 23:54

评测结果 Result

测试点 #1:通过该测试点。得分20,耗时0ms,内存3178kB。

测试点 #2:错误的答案。得分0,耗时15ms,内存3170kB。

•该行正确答案长度:11 你的答案长度:0

•你是在整个测试点输出的 0% 地方开始出错的。

•这一行你是在第 1 个字符开始与标准输出不同的。

测试点 #3:通过该测试点。得分20,耗时15ms,内存3174kB。

测试点 #4:通过该测试点。得分20,耗时15ms,内存3178kB。

测试点 #5:通过该测试点。得分20,耗时0ms,内存3149kB。

源代码 Source code

view plaincopy to clipboardprint?

01.const dx:array[1..8] of integer=(-1,-1,-1,0,0,1,1,1);  
02.      dy:array[1..8] of integer=(-1,0,1,1,-1,-1,0,1);  
03.var n,i,j,k:integer;  
04.    a:array[1..100,1..100] of integer;  
06.procedure bfs(q,p:integer);  
07.var i,j,k,r,t:integer;  
08.    stack:array[1..10000,1..2] of integer;  
09.    aa:array[1..100,1..100] of integer;  
10.begin  
11.  aa:=a;  
12.  r:=0;t:=1; aa[q,p]:=2;stack[1,1]:=q;stack[1,2]:=p;  
13.  repeat  
14.    r:=r mod 1000+1;  
15.    for k:=1 to 8 do  
16.    begin  
17.      i:=stack[r,1]+dx[k];j:=stack[r,2]+dy[k];  
18.      if (i<=0) or (i>n) or (j<=0) or (j>n) then exit;  
19.      if (i=1) or (i=n) or (j=1) or (j=n) then  
20.      if aa[i,j]=0 then exit;  
21.      if aa[i,j]=0 then  
22.      begin  
23.        aa[i,j]:=2;  
24.        t:=t mod 1000+1;  
25.        stack[t,1]:=i;stack[t,2]:=j;  
26.      end;  
27.    end;  
28.  until r=t;  
29.  for i:=1 to n do  
30.  begin  
31.    for j:=1 to n do write(aa[i,j],' ');  
32.    writeln;  
33.  end;  
34.  halt;  
35.end;  
38.begin  
39.  read(n);  
40.  for i:=1 to n do  
41.    for j:=1 to n do read(a[i,j]);  
42.    for i:=2 to n-1 do  
43.      for j:=2 to n-1 do  
44.      if a[i,j]=0 then bfs(i,j);  
45.end.  

2015/10/25 23:54
加载中...