/LINE2 - Trò chơi Line 2

<Problem>

http://ntucoder.net/Problem/Details/109
              Uses Crt;
        Var x1,x2,y1,y2,n,i,j,dem,k:longint; kt:boolean; a,d:array[-10..1000,-10..1000] of longint;
            b,c:array[1..100] of integer;
        Procedure Line(y,x,dem:longint);
        begin
            if (y=y2) and (x=x2) then
            begin
                writeln(dem);
                for k:=1 to dem-1 do writeln(b[k],' ',c[k]);
                writeln(y2,' ',x2);
                halt;
            end
            else
            begin
            b[dem]:=y;
            c[dem]:=x;
            a[y,x]:=1;
        
            if (a[y-1,x]<>1) and (y>1) then Line(y-1,x,dem+1);
            if (a[y+1,x]<>1) and (y<n) then Line(y+1,x,dem+1);
            if (a[y,x-1]<>1) and (x>1) then Line(y,x-1,dem+1);
            if (a[y,x+1]<>1) and (x<n) then Line(y,x+1,dem+1);
            end;
        end;
        Begin
            readln(n,y1,x1,y2,x2);
            for i:=1 to n do
            for j:=1 to n do read(a[i,j]);
            a[y1,x1]:=1;
            a[y2,x2]:=0;
            Line(y1,x1,1);
            write(0);
            readln;
        End.