Cod sursa(job #572572)

Utilizator originalalexmarin alexandru originalalex Data 5 aprilie 2011 13:49:43
Problema Tablete Scor 70
Compilator fpc Status done
Runda Arhiva de probleme Marime 2.06 kb
program tablete;
var nr1,nr2,i,n,j,k:longint;
    f1,f2:text;
    p:shortint;
begin
assign(f1,'tablete.in');
reset(f1);
read(f1,n,k);
close(f1);
assign(f2,'tablete.out');
rewrite(f2);
nr1:=1;
if (k mod 2=0) and (n mod 2=0) then
  begin {1}
  for i:=1 to n do
  begin {2}
  for j:=1 to n do
    begin
    write(f2,nr1,' ');
    nr1:=nr1+1;
    end;
  writeln(f2);
  end;
end
else
if (k mod 2=0) and (n mod 2=1) then
  begin
  nr1:=1; nr2:=n*k+1;
  for i:=1 to n do
  begin
  for j:=1 to k do
    begin
    write(f2,nr1,' ');
    nr1:=nr1+1;
    end;
  for j:=k+1 to n do
    begin
    write(f2,nr2,' ');
    nr2:=nr2+1;
    end;
  writeln(f2);
end;
end
else

if (k mod 2=1) and (n mod 2=0) then
  begin
  nr1:=1; nr2:=n*k+1;
  for i:=1 to n do
  begin   {1}
  if(i mod 2=1) then begin{2}
  for j:=1 to k-1 do
    begin    {3}
      write(f2,nr1,' ');
      nr1:=nr1+1;
      end;     {3}

    write(f2,nr1+1,' '); end {2}
    else
         begin {4}
      write(f2,nr1,' ');
       nr1:=nr1+2;
       for j:=2 to k do begin{5}
       write(f2,nr1,' ');
       nr1:=nr1+1;
            end; {5}
    end;{4}
    for j:=k+1 to n do
    begin  {6}
    write(f2,nr2,' ');
    nr2:=nr2+1;
    end; {6}
  writeln(f2);
  end; {1}
  end
  else

if (k mod 2=1) and (n mod 2=1) then

  begin
  nr1:=1; nr2:=n*k;
  for i:=1 to n do
  begin   {1}
  if(i mod 2=1) then begin{2}
  for j:=1 to k-1 do
    begin    {3}
      write(f2,nr1,' ');
      nr1:=nr1+1;
      end;     {3}

    write(f2,nr1+1,' '); end {2}
    else
         begin {4}
      write(f2,nr1,' ');
       nr1:=nr1+2;
       for j:=2 to k do begin{5}
       write(f2,nr1,' ');
       nr1:=nr1+1;
            end; {5}
    end;{4}
    if(i=1)then begin write (f2,nr2,' '); nr2:=nr2+2;
    for j:=k+2 to n do
    begin  {6}
    write(f2,nr2,' ');
    nr2:=nr2+1;
    end; {6}
    end
    else
    for j:=k+1 to n do
    begin  {6}
    write(f2,nr2,' ');
    nr2:=nr2+1;
    end; {6}
  writeln(f2);
  end;

  end; {1}





close(f2);
end.