Mai intai trebuie sa te autentifici.

Cod sursa(job #319706)

Utilizator m123pop manu m123 Data 1 iunie 2009 20:45:10
Problema Tablete Scor 70
Compilator fpc Status done
Runda Arhiva de probleme Marime 1.64 kb
Program lll;
var f,g:text;
   n,i,k,j,a:longint;
begin
assign(f,'tablete.in');reset(f);
assign(g,'tablete.out');rewrite(g);
read(f,n,k);
if k mod 2=0 then begin
                  a:=k*n;
                  for I:=1 to n do
                   begin
                   for j:=1 to k do
                     write(g,(i-1)*k+j,' ') ;
                   for j:=1 to n-k do
                    begin  a:=a+1; write(g,a,' ');end;
                   writeln(g);
                   end;
                  end;
if (k mod 2=1) and (n mod 2 =0) then
   begin
   a:=k*n;
   for i:=1 to n do
     if i mod 2 =0 then
           begin
        write(g,(i-1)*k,' ');
        for j:=2 to k do write(g,(i-1)*k+j,' ');
        for j:=1 to n-k do write(g,a+j,' ');
        a:=a+j;
        writeln(g);
          end
        else
           begin
        for j:=1 to k-1 do write(g,(i-1)*k+j,' ');
        write(g,i*k+1,' ');
        for j:=1 to n-k do write(g,a+j,' ');
        a:=a+j;
        writeln(g);
          end
 end;
  if (k mod 2=1) and (n mod 2 =1) then
   begin
   a:=k*n;
   for i:=1 to n do
     if i mod 2 =0 then
           begin
        write(g,(i-1)*k,' ');
        for j:=2 to k do write(g,(i-1)*k+j,' ');
        for j:=1 to n-k do write(g,a+j,' ');
   a:=a+j;
        writeln(g);
          end
        else
           begin
        for j:=1 to k-1 do write(g,(i-1)*k+j,' ');
        write(g,i*k+1,' ');
        for j:=1 to n-k do
                if( i=1) and(j=1) then  write(g,a+j-1,' ')
                    else write(g,a+j,' ');
        a:=a+j;
        writeln(g);
          end
 end;

close(g);close(f);
end.