Cod sursa(job #483262)

Utilizator danalex97Dan H Alexandru danalex97 Data 7 septembrie 2010 18:13:48
Problema Multimi2 Scor 100
Compilator fpc Status done
Runda Arhiva de probleme Marime 1.31 kb
var a:array[1..1000000] of boolean;
n,i:longint;
f,g:text;
begin
assign(f,'multimi2.in');
assign(g,'multimi2.out');
reset(f);
rewrite(g);
read(f,n);
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*2-1,' ',n-(i-1)*2,' ');
   writeln(g);
   writeln(g,n div 2);
   for i:=1 to (n div 4) do
   	write(g,i*2,' ',n-(i-1)*2-1,' ');
   writeln(g);
   end;
if n mod 4=1 then begin
	writeln(g,1);
   writeln(g,n div 2+1);
   write(g,1,' ');
   for i:=1 to (n div 4) do
   	write(g,i*2,' ',n-(i-1)*2,' ');
   writeln(g);
   writeln(g,n div 2);
   for i:=1 to (n div 4) do
   	write(g,i*2+1,' ',n-(i-1)*2-1,' ');
   writeln(g);
   end;
if n mod 4=3 then begin
	writeln(g,0);
   writeln(g,(n div 2)+1);
   write(g,1,' ',2,' ');
   for i:=1 to (n div 4) do
   	write(g,i*2+2,' ',n-(i-1)*2,' ');
   writeln(g);
   writeln(g,(n div 2));
   write(g,3,' ');
   for i:=1 to (n div 4) do
   	write(g,i*2+3,' ',n-(i-1)*2-1,' ');
   writeln(g);
	end;
if n mod 4=2 then begin
	writeln(g,1);
   writeln(g,n div 2);
   for i:=1 to (n div 4) do
   	write(g,i*2-1,' ',n-(i-1)*2,' ');
   writeln(g,n div 2);
   writeln(g,n div 2);
   for i:=1 to (n div 4) do
   	write(g,i*2,' ',n-(i-1)*2-1,' ');
   writeln(g,(n div 2)+1);
   end;
close(f);
close(g);
end.