Cod sursa(job #231718)

Utilizator DiaconuDiaconu Loredana Diaconu Data 14 decembrie 2008 12:52:13
Problema Tablete Scor 60
Compilator fpc Status done
Runda Algoritmiada 2009, Runda 1, Clasele 5-8 Marime 0.93 kb
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.