{$apptype console} const n=4; var i,j,k,y_v,y_g:longint; a:array[0..n+1,0..n+1] of integer; f:text; procedure pr1; begin a[y_v,y_g]:=1; y_g:=y_g+1; y_v:=1; end; procedure pr2; begin for i:=1 to n do a[i,y_g]:=0; y_g:=y_g-1; for i:=1 to n do if a[i,y_g]=1 then y_v:=i; a[y_v,y_g]:=0; y_v:=y_v+1; end; procedure pr3; begin y_g:=y_g-1; for i:=1 to n do if a[i,y_g]=1 then y_v:=i; end; procedure pr4; begin k:=k+1; for i:=n downto 1 do begin for j:=1 to n do write(a[i,j]); writeln; END; WRITELN; end; function pr:boolean; begin pr:=true; for i:=1 to n do if (a[y_v,i]=1) then pr:=false; i:=y_v; j:=y_g; while (i<=n)and(j<=n)do begin if (a[i,j]=1) then pr:=false; inc(i);inc(j); end; i:=y_v; j:=y_g; while ((j>=1)and(i>=1)) do begin if (a[i,j]=1) then pr:=false; dec(i);dec(j); end; i:=y_v; j:=y_g; while ((j>=1)and(i<=n)) do begin if (a[i,j]=1) then pr:=false; inc(i);dec(j); end; i:=y_v; j:=y_g; while ((j<=n)and(i>=1)) do begin if (a[i,j]=1) then pr:=false; dec(i);inc(j); end; end; begin writeln('n=',n); k:=0; for i:=1 to n do for j:=1 to n do a[i,j]:=0; y_v:=1; y_g:=1; pr1; while y_g<>0 do begin while (not(pr)) and (y_v