27 lines
751 B
ObjectPascal
27 lines
751 B
ObjectPascal
var
|
|
a : array[1..256,1..256] of longint;
|
|
n,m,i,j : longint;
|
|
procedure make(i,j,l,r:longint);
|
|
begin
|
|
if l = r then a[i,j]:=l else
|
|
begin
|
|
make(i,j,l,(l+r) shr 1);
|
|
make(i+(r-l) shr 1+1,j+(r-l) shr 1+1, l , (l+r) shr 1);
|
|
make(i+(r-l) shr 1+1,j, (l+r) shr 1 + 1 , r);
|
|
make(i,j+(r-l) shr 1+1, (l+r) shr 1 + 1 , r)
|
|
end;
|
|
end;
|
|
begin
|
|
assign(input,'match.in');
|
|
reset(input);
|
|
assign(output,'match.out');
|
|
rewrite(output);
|
|
readln(m);
|
|
n:=1 shl m;
|
|
make(1,1,1,n);
|
|
for i:=1 to n do
|
|
begin
|
|
for j:=1 to n do write(a[i,j],' ');writeln
|
|
end;
|
|
close(output)
|
|
end. |