Cod sursa(job #148924)

Utilizator antoanelaAntoanela Siminiuc antoanela Data 4 martie 2008 23:21:47
Problema Multimi2 Scor 100
Compilator fpc Status done
Runda Arhiva de probleme Marime 1.96 kb
program multimi2;
var f,g:text;
    n,i:longint;
begin
assign(f,'multimi2.in');
assign(g,'multimi2.out');
reset(f);
rewrite(g);
read(f,n);
if (n=2)then
  begin
    writeln(g,1);
    writeln(g,1);
    writeln(g,1);
    writeln(g,1);
    write(g,2);
  end else
if (n=3)then
  begin
    writeln(g,0);
    writeln(g,2);
    writeln(g,'1 2');
    writeln(g,1);
    write(g,3);
  end else
begin
  if (n mod 2=0)then
    begin
      if (n mod 4=0)then
        begin
          writeln(g,0);
          writeln(g,n div 2);
          for i:=1 to n div 4 do
            write(g,i,' ',n-i+1,' ');
          writeln(g);
          writeln(g,n div 2);
          for i:=n div 4+1 to n div 2 do
            write(g,i,' ',n-i+1,' ');
        end else
        begin
          writeln(g,1);
          writeln(g,n div 2);
          i:=1;
          while (i<n div 2)do
            begin
              write(g,i,' ',n-i+1,' ');
              inc(i,2);
            end;
          writeln(g,n div 2);
          writeln(g,n div 2);
          i:=2;
          while (i<n div 2+1) do
            begin
              write(g,i,' ',n-i+1,' ');
              inc(i,2);
            end;
          write(g,n div 2+1);
        end;
    end else
    begin
      if ((n+1)mod 4=0)then
        begin
          writeln(g,0);
          writeln(g,n div 2+1);
          for i:=2 to n div 4+1 do
            write(g,i,' ',n-i+2,' ');
          writeln(g,1,' ',n div 2+1);
          writeln(g,n div 2);
          for i:=n div 4+2 to n div 2 do
            write(g,i,' ',n-i+2,' ');
          write(g,n div 2+2);
        end else
        begin
          writeln(g,1);
          writeln(g,n div 2+1);
          for i:=2 to n div 4+1 do
            write(g,i,' ',n-i+2,' ');
          writeln(g,1);
          writeln(g,n div 2);
          for i:=n div 4+2 to (n div 2)+1 do
            write(g,i,' ',n-i+2,' ');
        end;
    end;
end;
close(f);
close(g);
end.