Pagini recente » Arhiva de probleme | Cod sursa (job #1693695) | Cod sursa (job #1371940) | Cod sursa (job #961776) | Cod sursa (job #231718)
Cod sursa(job #231718)
var f,g:text;
i,j,k,n:integer;
nr,aux:longint;
v:array[1..1000,1..1000] of 1..1000000;
begin
assign (f,'tablete.in');reset(f);
assign (g,'tablete.out');rewrite (g);
readln(f,n,k);
if k mod 2=0 then begin
for i:=1 to n do begin
for j:=1 to n do
write(g,(i-1)*n+j,' ');
writeln (g);
end;
end
else begin
fillchar (v,sizeof(v),0);
for i:=1 to n do
for j:=1 to k do
v[i,j]:=(i-1)*k+j;
if (k mod 2)=1 then begin
for i:=1 to n div 2 do begin
aux:=v[i*2-1,k];
v[i*2-1,k]:=v[i*2,1];
v[i*2,1]:=aux;
end;
if (n mod 2)=1 then begin
v[1,k+1]:=n*k;
v[n,k]:=n*k+1;
end;
end;
if n mod 2=1 then nr:=n*k+2
else nr:=n*k+1;
for i:=1 to n do begin
for j:=1 to n do
if v[i,j]<>0 then write(g,v[i,j],' ')
else begin
write(g,nr,' ');
inc(nr);
end;
writeln (g);
end;
end;
close(f);close(g);
end.