Pagini recente » Cod sursa (job #128268) | Cod sursa (job #2145720) | Cod sursa (job #175403) | Cod sursa (job #1342497) | Cod sursa (job #231105)
Cod sursa(job #231105)
var n,k,i,j,ia:longint;
v:array [1..1010,1..1010] of longint;
begin
assign(input,'tablete.in'); reset(input);
assign(output,'tablete.out'); rewrite(output);
readln(n,k);
if n mod 2=0 then
if k mod 2=0 then begin
for i:=1 to n do
for j:=1 to n do v[i,j]:=(i-1)*n+j;
end
else begin
ia:=n-2;
for i:=1 to n do begin
v[i,1]:=i; v[i,n]:=n*n-i+1; v[1,i]:=n+i-1;
end;
for i:=2 to n do
for j:=2 to n-1 do v[i,j]:=v[i-1,j]+ia;
v[1,1]:=1; v[1,n]:=n*n;
end
else
if k mod 2=0 then begin
for i:=1 to n do v[i,n]:=n*n-i+1;
for i:=1 to (n-1) div 2 do begin
v[1,(i-1)*2+1]:=(i-1)*2*n+1; v[1,(i-1)*2+2]:=(i-1)*2*n+2;
end;
for i:=2 to n do
for j:=1 to n-1 do v[i,j]:=v[i-1,j]+2;
v[1,n]:=n*n;
end
else begin
for i:=1 to n do
for j:=1 to 2 do v[i,j]:=(i-1)*2+j;
v[n,2]:=2*n+1;
for i:=1 to (n-3) div 2 do begin
v[1,i*2+1]:=i*2*n; v[1,i*2+2]:=i*2*n+3;
end;
for i:=2 to n do
for j:=3 to n-1 do v[i,j]:=v[i-1,j]+2;
v[1,n]:=(n-1)*n;
for i:=2 to n do v[i,n]:=(n-1)*n+i;
end;
for i:=1 to n do begin
for j:=1 to n do write(v[i,j],' ');
writeln;
end;
close(input); close(output);
end.