Cod sursa(job #109249)

Utilizator marius21Petcu Marius marius21 Data 25 noiembrie 2007 09:38:16
Problema Multimi2 Scor 100
Compilator fpc Status done
Runda preONI 2008, Runda 1, Clasele 5-8 Marime 1.32 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.