Cod sursa(job #109831)

Utilizator NarutofanAlice Malkin Narutofan Data 25 noiembrie 2007 12:46:39
Problema Multimi2 Scor 100
Compilator cpp Status done
Runda preONI 2008, Runda 1, Clasele 5-8 Marime 1.54 kb
#include <fstream.h>
int n,i,t;
ifstream f("multimi2.in");
ofstream g("multimi2.out");

int main()
{    f>>n;
     if (n%2==0)
	if(n/2%2==0)
	 {
	    g<<0<<'\n'<<n/2<<'\n';
	    t=0;
	    for (i=1;i<=n/4;i++)
	      {g<<i<<' ';t++;}
	    for (i=n-t+1;i<=n;i++)
	      g<<i<<' ';
	     g<<'\n'<<n/2<<'\n';
	    for (i=n/4+1;i<=n/2;i++)
	      g<<i<<' ';
	    for (i=n-2*t+1;i<=n-t;i++)
	      g<<i<<' ';
	       }
	 else
	 {   int m=n;
	     n=n-2;
	     g<<1<<'\n'<<n/2+1<<'\n';
	    t=0;
	    for (i=1;i<=n/4;i++)
	      {g<<i<<' ';t++;}
	    for (i=n-t+1;i<=n;i++)
	      g<<i<<' ';
	      g<<m-1;
	     g<<'\n'<<n/2+1<<'\n';
	    for (i=n/4+1;i<=n/2;i++)
	      g<<i<<' ';
	    for (i=n-2*t+1;i<=n-t;i++)
	      g<<i<<' ';
	      g<<m;

 }
 else
   if((n-1)/2%2==1)
   {
	    g<<0<<'\n'<<(n-1)/2<<'\n';
	    t=0;  int m=n-1;
	    for (i=1;i<=m/4;i++)
	      {g<<i<<' ';t++;}
	    for (i=m-t+1;i<=m;i++)
	      g<<i<<' '; g<<n;
	     g<<'\n'<<(n-1)/2+1<<'\n';
	    t=0;
	    for (i=m/4+1;i<=m/2;i++)
	      {g<<i<<' ';  t++;}
	    for (i=m-2*t+2;i<=m-t+1;i++)
	      g<<i<<' ';
      }
      else
	 {
	    int x=n;  n=n-2;
	    g<<1<<'\n'<<(n-1)/2+1<<'\n';
	    t=0;  int m=n-1;
	    for (i=1;i<=m/4;i++)
	      {g<<i<<' ';t++;}
	    for (i=m-t+1;i<=m;i++)
	      g<<i<<' '; g<<n<<' '; g<<x-1;
	     g<<'\n'<<(n-1)/2+2<<'\n';
	    t=0;
	    for (i=m/4+1;i<=m/2;i++)
	      {g<<i<<' ';  t++;}
	    for (i=m-2*t+2;i<=m-t+1;i++)
	      g<<i<<' '; g<<x;
}


    f. close();
   g.close();

 return 0;
}