Cod sursa(job #346072)

Utilizator ionutz32Ilie Ionut ionutz32 Data 6 septembrie 2009 16:26:49
Problema Tablete Scor 70
Compilator fpc Status done
Runda Arhiva de probleme Marime 1.63 kb
var n,k,i,j,nr,o:longint;
f,g:text;
begin
assign(f,'tablete.in');
assign(g,'tablete.out');
reset(f);rewrite(g);
read(f,n,k);
if (n mod 2=0) and (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
    if (n mod 2=1) and (k mod 2=1) then
       for i:=1 to n do
           begin
           for j:=1 to n do
               if (i mod 2=1) and (j=k) and (i<>n) then
                  begin
                  o:=nr+1;
                  inc(nr,2);
                  write(g,nr,' ');
                  end
               else
                   if (i mod 2=0) and (j=1) then
                      write(g,o,' ')
                   else
                       if (i=n-1) and (j=n) then
                          write(g,n*n,' ')
                       else
                           begin
                           inc(nr);
                           write(g,nr,' ');
                           end;
           writeln(g);
           end
    else
        for i:=1 to n do
            begin
            nr:=i-n;
            for j:=1 to n do
                begin
                if j=k-1 then
                   inc(nr,n-i+2*i-1)
                else
                    if j=k then
                       inc(nr)
                    else
                        if j=k+1 then
                           inc(nr,(n-i)*2+i)
                        else
                            inc(nr,n);
                write(g,nr,' ');
                end;
            writeln(g);
            end;
close(f);close(g);
end.