Cod sursa(job #156106)

Utilizator dexter_dexMutascu Adrian - Dragos dexter_dex Data 12 martie 2008 12:47:55
Problema Multimi2 Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 1.34 kb
#include<fstream.h>
long long n,i,j;
int main ()
{
ifstream f("multimi2.in");
ofstream g("multimi2.out");

f>>n;

if(n%4==0)
  {
   g<<'0'<<'\n'<<n/2<<'\n';
   i=1;
   j=n;
   while (i<j)
     {
      g<<i<<" "<<j<<" ";
      i+=2;
      j-=2;
     }
   g<<'\n'<<n/2<<'\n';
   i=2;
   j=n-1;
   while (i<j)
     {
      g<<i<<" "<<j<<" ";
      i+=2;
      j-=2;
     }
  }
else if(n%4==1)
     {g<<'1'<<'\n'<<(n-3)/2+2<<'\n'<<"1 2 ";
      i=4;
      j=n;
      while (i+1!=j)
	    {g<<i<<" "<<j<<" ";
	     i+=2;
	     j-=2;}
      g<<(n+3)/2;
      g<<'\n'<<(n-3)/2+1<<'\n'<<"3 ";
      i=5;
      j=n-1;
      while (i<j)
	 {g<<i<<" "<<j<<" ";
	  i+=2;
	  j-=2;}
      g<<(n+3)/2+1;
     }
else if(n%4==2)
     {g<<'1'<<'\n'<<n/2<<'\n';

      i=1;
      j=n;
      while (i+1!=j)
	  {g<<i<<" "<<j<<" ";
	   i+=2;
	   j-=2;}
      g<<i<<'\n'<<n/2<<'\n';
      i=2;
      j=n-1;
      while (i<j)
	  {g<<i<<" "<<j<<" ";
	   i+=2;
	   j-=2;}
       g<<i;
     }
else if(n%4==3)
     {g<<'0'<<'\n'<<(n-3)/2+2<<'\n'<<"1 2 ";
      i=4;
      j=n;
      while (i<j)
	 {g<<i<<" "<<j<<" ";
	  i+=2;
	  j-=2;}

      g<<'\n'<<(n-3)/2+1<<'\n'<<"3 ";
      i=5;
      j=n-1;
      while (i<j)
	  {g<<i<<" "<<j<<" ";
	   i+=2;
	   j-=2;}
      }
f.close();
g.close();
return 0;
}