Cod sursa(job #110755)

Utilizator taloibogdanTaloi Bogdan Cristian taloibogdan Data 27 noiembrie 2007 19:05:09
Problema Multimi2 Scor 100
Compilator fpc Status done
Runda Arhiva de probleme Marime 1.71 kb
Program multimi2;
Var f:text;
    n,i:longint;
    a:array[1..100001] of char;
Begin
  assign(f,'multimi2.in');
  reset(f);
  readln(f,n);
  close(f);
  assign(f,'multimi2.out');
  rewrite(f);
  if n=2 then
    begin
     Writeln(f,'1');
     Writeln(f,'1');
     Writeln(f,'1');
     Writeln(f,'1');
     Writeln(f,'2');
    end
         else
  if n mod 2=0 then
    if n mod 4=0 then
      begin
       Writeln(f,'0');
       Writeln(f,n div 2);
       for i:=1 to n div 4 do Write(f,i*2-1,' ',n-(i*2-1)+1,' ');
       Writeln(f);
       Writeln(f,n div 2);
       for i:=(n div 4)+1 to n div 2 do Write(f,i*2-1,' ',n-(i*2-1)+1,' ');
       Writeln(f);
      end
                 else
      begin
       Writeln(f,'1');
       Writeln(f,((n-2) div 2)+1);
       for i:=1 to n div 4 do Write(f,i*2-1,' ',n-(i*2-1)+1,' ');
       Writeln(f,(n div 2));
       Writeln(f,((n-2) div 2)+1);
       for i:=(n div 4)+2 to n div 2 do Write(f,i*2-1,' ',n-(i*2-1)+1,' ');
       Writeln(f,(n div 2)+1);
      end
               else
    if (n-1) mod 4=0 then
      begin
       Writeln(f,'1');
       Writeln(f,n div 2);
       for i:=1 to n div 4 do Write(f,i*2,' ',n-(i*2-1)+1,' ');
       Writeln(f);
       Writeln(f,(n div 2)+1);
       for i:=(n div 4)+1 to n div 2 do Write(f,i*2,' ',n-(i*2-1)+1,' ');
       Writeln(f,'1');
      end

                     else
      begin
       Writeln(f,'0');
       n:=n-1;
       Writeln(f,(n div 2)+1);
       for i:=1 to (n div 4)+1 do Write(f,i*2-1,' ',n-(i*2-1)+1,' ');
       Writeln(f);
       Writeln(f,(n div 2));
       for i:=(n div 4)+2 to n div 2 do Write(f,i*2-1,' ',n-(i*2-1)+1,' ');
       Writeln(f,n+1);
      end;

  close(f);
End.