sine吧 关注:24贴子:175
  • 1回复贴,共1
  • 202.98.63.*
var
 a:array[0..26,0..26] of integer;
 i,j,n:integer;
 find:boolean;

procedure visit(i1,j1:integer);
 begin
  if find then exit;
  a[i1,j1]:=i;
  inc(i);
  if i=n*n+1 then begin find:=true;exit;end;
  if ((a[i1+1,j1]=0) and (a[i1,j1+1]<>0)) then visit(i1+1,j1)
  else if a[i1,j1-1]=0 then visit(i1,j1-1)
  else if a[i1-1,j1]=0 then visit(i1-1,j1)
  else if ((a[i1,j1+1]=0) and (a[i1-1,j1]<>0)) then visit(i1,j1+1);
 end;

 begin
  read(n);
  for i:=0 to n+1 do
   for j:=0 to n+1 do
    a[i,j]:=-2;
  for i:=1 to n do
   for j:=1 to n do
     a[i,j]:=0;
  i:=1;find:=false;
  visit(1,n);
  for i:=1 to n do
    begin
     for j:=1 to n do
      write(a[i,j]:5);
     writeln;
    end;
 end.




1楼2006-07-24 11:47回复
    • 221.193.193.*
    都是中国人,为啥要学英文,连中文都考不及格,现在教育太悲了


    2楼2006-12-15 09:22
    回复