Cod sursa(job #240820)

Utilizator cheery_g1rlHaller Emanuela cheery_g1rl Data 8 ianuarie 2009 19:18:22
Problema Tablete Scor 70
Compilator fpc Status done
Runda Arhiva de probleme Marime 3.13 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
      begin
l:=n*k;
m:=1;
if l mod 2=1 then
                begin
                  for j:=1 to k-1 do begin write(g,m,' '); inc(m);end;
                  if m mod 2=0 then begin write(g,m,' '); inc(m); end
                               else begin write(g,m+1,' '); inc(m,2); end;
                  write(g,l,' '); inc(l,2);
                  for j:=k+2 to n do
                     begin
                       write(g,l,' '); inc(l);
                     end;
                  writeln(g);
                  for i:=2 to n do
                     begin
                       if m=(i-1)*k+1 then
                                begin
                                  for j:=1 to k-1 do begin write(g,m,' '); inc(m);end;
                                  if m mod 2=0 then begin write(g,m,' '); inc(m); end
                                               else begin write(g,m+1,' '); inc(m,2); end;
                                  for j:=k+1 to n do
                                      begin
                                        write(g,l,' '); inc(l);
                                      end;
                                  writeln(g);
                                end
                             else
                                begin
                                  write(g,m-2,' ');
                                  for j:=2 to k-1 do begin write(g,m,' '); inc(m);end;
                                  if m mod 2=0 then begin write(g,m,' '); inc(m); end
                                               else begin write(g,m+1,' '); inc(m,2); end;
                                  for j:=k+1 to n do
                                     begin
                                       write(g,l,' '); inc(l);
                                     end;
                                  writeln(g);
       end;
   end;

                end
             else
                begin
    l:=l+1;
for i:=1 to n do
   begin
     if m=(i-1)*k+1 then
       begin
         for j:=1 to k-1 do begin write(g,m,' '); inc(m);end;
         if m mod 2=0 then begin write(g,m,' '); inc(m); end
                      else begin write(g,m+1,' '); inc(m,2); end;
         for j:=k+1 to n do
            begin
              write(g,l,' '); inc(l);
            end;
         writeln(g);
       end
           else
       begin
         write(g,m-2,' ');
         for j:=2 to k-1 do begin write(g,m,' '); inc(m);end;
         if m mod 2=0 then begin write(g,m,' '); inc(m); end
                      else begin write(g,m+1,' ');inc(m,2); end;
         for j:=k+1 to n do
            begin
              write(g,l,' '); inc(l);
            end;
         writeln(g);
       end;
   end;
     end;  end;
close(f);
close(g);
end.