Cod sursa(job #146731)

Utilizator ghitza_2000Stefan Gheorghe ghitza_2000 Data 2 martie 2008 01:35:21
Problema Multimi2 Scor 80
Compilator fpc Status done
Runda Arhiva de probleme Marime 1.3 kb
var a,b,n,i:longint;
    r:byte;
    f,g:text;
begin
assign(f,'multimi2.in'); reset(f);
readln(f,n);
close(f);
assign(g,'multimi2.out'); rewrite(g);
r:=n mod 4;
case r of
1:begin
i:=1;
writeln(g,'1');
writeln(g,(n div 2+1));
while i<=n do
begin
write(g,i,' ');
if i mod 4=2 then i:=i+3
else i:=i+1;
end;
writeln(g);
writeln(g,n div 2);
i:=3;
while i<=n-1 do
begin
write(g,i,' ');
if i mod 4=0 then i:=i+3
else i:=i+1;
end;
end;
2:begin
i:=1;
writeln(g,'1');
writeln(g,n div 2);
while i<=n-1 do
begin
write(g,i,' ');
if i mod 4=1 then i:=i+3
else i:=i+1;
end;
writeln(g);
writeln(g,n div 2);
i:=2;
while i<=n do
begin
write(g,i,' ');
if i mod 4=3 then i:=i+3
else i:=i+1;
end;
end;
3:begin
writeln(g,'0');
writeln(g,n div 2+1);
write(g,'1 2 ');
i:=4;
while i<=n do
begin
write(g,i,' ');
if i mod 4=2 then i:=i+3
else i:=i+1;
end;
writeln(g);
writeln(g,n div 2);
write(g,'3 ');
i:=5;
while i<=n-1 do begin
write(g,i,' ');
if i mod 4=2 then i:=i+3
else i:=i+1;
end;
end;
0:begin
writeln(g,'0');
writeln(g,n div 2);
i:=1;
while i<=n do
begin
write(g,i,' ');
if i mod 4=1 then i:=i+3
else i:=i+1;
end;
writeln(g);
writeln(g,n div 2);
i:=2;
while i<=n-1 do begin
write(g,i,' ');
if i mod 4=3 then i:=i+3
else i:=i+1;
end;
end;
end;
close(g);
end.