Cod sursa(job #468711)

Utilizator lianaliana tucar liana Data 4 iulie 2010 19:27:35
Problema Multimi2 Scor 100
Compilator fpc Status done
Runda Arhiva de probleme Marime 1.31 kb
program multimi2;
var f, g:text;
    np, ne, n, nr, nr2, nrinc:longint;
    trei, doi:boolean;
  begin
    assign(f,'multimi2.in'); reset(f);
    assign(g,'multimi2.out'); rewrite(g);
    readln(f,n);
    if (n mod 4=0) or (n mod 4=3) then
      writeln(g,0)
     else
       writeln(g,1);
    np:=n div 4;
    if n mod 4=0 then
      begin
        nr:=1;
        writeln(g,2*np);
        ne:=2*np;
      end;
    if n mod 4=1 then
       begin
         writeln(g,2*np+1);
         write(g,1,' ');
         nr:=2;
         ne:=2*np;
       end;
    if n mod 4=2 then
      begin
        writeln(g,2*np+1);
        write(g,'1 ');
        doi:=true;
        nr:=3;
        ne:=2*np+1;
      end;
    if n mod 4=3 then
      begin
        writeln(g,2*np+2);
        write(g,'1 2 ');
        trei:=true;
        nr:=4;
        ne:=2*np+1;
      end;
    nr2:=n;
    nrinc:=nr;
    while nr<nr2 do
      begin
        write(g,nr,' ',nr2,' ');
        nr:=nr+2;
        nr2:=nr2-2;
      end;
    writeln(g);
    writeln(g,ne);
    if trei then
      write(g,3,' ');
    if doi then
      write(g,2,' ');
    nr:=nrinc+1;
    nr2:=n-1;
    while nr<nr2 do
      begin
        write(g,nr,' ',nr2,' ');
        nr:=nr+2;
        nr2:=nr2-2;
      end;
    close(f);
    close(g);
  end.