Cod sursa(job #240835)

Utilizator cheery_g1rlHaller Emanuela cheery_g1rl Data 8 ianuarie 2009 19:59:17
Problema Tablete Scor 70
Compilator fpc Status done
Runda Arhiva de probleme Marime 1.81 kb
var n,m,l,i,j,k:longint;
    f,g:text;
begin
assign(f,'tablete.in');
reset(f);
assign(g,'tablete.out');
rewrite(g);
readln(f,n,k);
if k mod 2=0 then
  begin
    m:=1;
    l:=n*k+1;
    for i:=1 to n do
      begin
        for j:=1 to k do begin write(g,m,' '); inc(m);end;
        for j:=k+1 to n do begin write(g,l,' '); inc(l); end;
        writeln(g);
      end;
  end
            else
if n mod 2=0 then
  begin
    l:=n*k+1;
    for i:=1 to n div 2 do
       begin
         m:=(i-1)*2*k;
         for j:=1 to k-1 do write(g,m+j,' ');
         write(g,m+k+1,' ');
         for j:=k+1 to n do begin write(g,l,' '); inc(l); end;
         writeln(g);
         m:=(i-1)*2*k+k;
         write(g,m,' ');
         for j:=2 to k do write(g,m+j,' ');
         for j:=k+1 to n do begin write(g,l,' '); inc(l); end;
         writeln(g);
       end;
  end
            else
  begin
    l:=n*k;
    m:=0;
    for j:=1 to k-1 do write(g,m+j,' ');
    write(g,m+k+1,' ');
    write(g,l,' ');
    inc(l,2);
    for j:=k+2 to n do begin write(g,l,' '); inc(l);end;
    writeln(g);
    m:=k; write(g,m,' ');
    for j:=2 to k do write(g,m+j,' ');
    for j:=k+1 to n do begin write(g,l,' '); inc(l);end;
    writeln(g);
    for i:=2 to n div 2 do
       begin
         m:=(i-1)*2*k;
         for j:=1 to k-1 do write(g,m+j,' ');
         write(g,m+k+1,' ');
         for j:=k+1 to n do begin write(g,l,' '); inc(l); end;
         writeln(g);
         m:=(i-1)*2*k+k;
         write(g,m,' ');
         for j:=2 to k do write(g,m+j,' ');
         for j:=k+1 to n do begin write(g,l,' '); inc(l); end;
         writeln(g);
       end;
    m:=(n-1)*k;
    for j:=1 to k-1 do write(g,m+j,' ');
    write(g,m+k+1,' ');
    for j:=k+1 to n do begin write(g,l,' '); inc(l);end;
  end;
close(f);
close(g);
end.