Cod sursa(job #126445)

Utilizator radu_voroneanuVoroneanu Radu Stefan radu_voroneanu Data 22 ianuarie 2008 10:12:31
Problema Multimi2 Scor 0
Compilator fpc Status done
Runda Arhiva de probleme Marime 1.88 kb
var i,poz_st,j,n:longint;
    f,g:text;
begin
 assign(f,'multimi2.in'); reset(f);
 assign(g,'multimi2.out'); 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 2 do
   if i mod 2=1 then
    write(g,i,' ');
  for i:=n div 2+1 to n do
   if i mod 2=0 then
    write(g,i,' ');
  writeln(g,#8);
  writeln(g,n div 2);
  for i:=1 to n div 2 do
   if i mod 2=0 then
    write(g,i,' ');
  for i:=n div 2+1 to n do
   if i mod 2=1 then
    write(g,i,' ');
  writeln(g,#8);
 end;

 if n mod 4=1 then begin
  writeln(g,1);
  writeln(g,(n div 2)+1);
  write(g,1,' ');
  for i:=2 to (n div 2)+1 do
   if i mod 2=1 then
    write(g,i,' ');
  for i:=(n div 2)+2 to n do
   if i mod 2=0 then
    write(g,i,' ');
  writeln(g,#8);
  writeln(g,n div 2);
  for i:=2 to (n div 2)+1 do
   if i mod 2=0 then
    write(g,i,' ');
  for i:=n div 2+2 to n do
   if i mod 2=1 then
    write(g,i,' ');
  writeln(g,#8);
 end;

 if n mod 4=2 then begin
  writeln(g,1);
  writeln(g,n div 2);
  write(g,1,' ');
  for i:=3 to (n div 2)+1 do
   if i mod 2=1 then
    write(g,i,' ');
  for i:=n div 2+2 to n do
   if i mod 2=0 then
    write(g,i,' ');
  writeln(g,#8);
  writeln(g,n div 2);
  for i:=2 to n div 2+1 do
   if i mod 2=0 then
    write(g,i,' ');
  for i:=n div 2+2 to n do
   if i mod 2=1 then
    write(g,i,' ');
  writeln(g,#8);
 end;

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