Cod sursa(job #189386)

Utilizator netedu_andreiFII Andrei Netedu netedu_andrei Data 14 mai 2008 11:53:16
Problema Multimi2 Scor 50
Compilator fpc Status done
Runda Arhiva de probleme Marime 1.51 kb
var f,g:text;
    n,i,s:longint;
begin
assign(f,'multimi2.in');reset(f);
assign(g,'multimi2.out');rewrite(g);
readln(f,n);
if n mod 4=0 then
     begin
     writeln(g,0);
     s:=n div 2;
     writeln(g,s);
     for i:=1 to n do
     if (i mod 4=0) or (i mod 4=3) then write(g,i,' ');
     writeln(g);
     writeln(g,s);
     for i:=1 to n do
     if (i mod 4=1) or (i mod 4=2) then write(g,i,' ');
     writeln(g);
     end

else if n mod 4=1 then
     begin
     writeln(g,1);
     s:=(n-1) div 2;
     writeln(g,s+1);
     write(g,1,' ');
     for i:=2 to 1+s div 2 do write(g,i,' ');
     for i:=n downto 1+n-s div 2 do write (g,i,' ');
     writeln(g);
     writeln(g,s);
     for i:=2+s div 2 to n-s div 2 do
     write(g,i,' ');
     writeln(g);
     end

else if n mod 4=2 then
     begin
     writeln(g,'1');
     s:=n div 2;
     writeln(g,s);
     write(g,1,' ');
     for i:=n downto n+1-((s-1) div 2) do write(g,i,' ');
     for i:=3 to 2+(s-1) div 2 do write(g,i,' ');
     writeln(g);
     writeln(g,s);
     write(g,2,' ');
     for i:=3+(s-1) div 2 to n-(s-1) div 2 do write(g,i,' ');
     writeln(g);
     end
else if n mod 4=3 then
     begin
     writeln(g,'0');
     s:=(n-1) div 2;
     for i:=n downto n+1-((s-1) div 2) do write(g,i,' ');
     for i:=3 to 2+(s-1) div 2 do write(g,i,' ');
     writeln(g);
     writeln(g,s);
     write(g,2,' ');
     for i:=3+(s-1) div 2 to n-(s-1) div 2 do write(g,i,' ');
     writeln(g);
     end;
close(f);
close(g);
end.