Cod sursa(job #163470)

Utilizator andrei.poenaruPoenaru Andrei andrei.poenaru Data 22 martie 2008 12:50:12
Problema Multimi2 Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 1.15 kb
#include<fstream.h>

int main(){

fstream f("multimi2.in", ios::in), g("multimi2.out", ios::out);
int n, x, i;

f>>n;
x=3+((n-5)/2);

if(n%2==0&&n%4!=0&&n!=2&&n!=3){
	g<<1<<endl;
	g<<n/2<<endl;
	for(i=1;i<=(n-2)/4;i++)
		g<<i<<" "<<n-2-i+1<<" ";
	g<<n-1;
	g<<endl<<n/2<<endl;
	for(i=i;i<=(n-2)/2;i++)
		g<<i<<" "<<n-2-i+1<<" ";
	g<<n;
	}
else if(n%4==0&&n!=2&&n!=3){
	g<<0<<endl;
	g<<n/2<<endl;
	for(i=1;i<=n/4;i++)
		g<<i<<" "<<n-i+1<<" ";
	g<<endl<<n/2<<endl;
	for(i=i;i<=n/2;i++)
		g<<i<<" "<<n-i+1<<" ";
	}
else if(n%2!=0&&x%2==0&&n!=2&&n!=3){
	g<<0<<endl;
	g<<n/2<<endl;
	for(i=1;i<=n/4;i++)
		g<<i<<" "<<n-i<<" ";
	g<<n<<endl<<n/2+1<<endl;
	for(i=i;i<=n/2;i++)
		g<<i<<" "<<n-i<<" ";
	}
else if(n%2!=0&&x%2!=0&&n!=2&&n!=3){
	g<<1<<endl;
	g<<n/2+1<<endl;
	for(i=1;i<=(n-2)/4+1;i++)
		g<<i<<" "<<(n-2)-i<<" ";
	g<<n-1<<endl<<n/2<<endl;
	for(i=i;i<=(n-2)/2;i++)
		g<<i<<" "<<(n-2)-i<<" ";
	g<<n-2<<" "<<n;
	}
else if(n==2){
	g<<1<<endl;
	g<<1<<endl;
	g<<1<<endl;
	g<<1<<endl;
	g<<2;
	}
else if(n==3){
	g<<0<<endl;
	g<<2<<endl;
	g<<1<<" "<<2<<endl;
	g<<1<<endl;
	g<<3;
	}

f.close();
g.close();
return 0;
}