Cod sursa(job #862375)

Utilizator Andrei1998Andrei Constantinescu Andrei1998 Data 22 ianuarie 2013 17:31:04
Problema Multimi2 Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 1.17 kb
#include <fstream>

using namespace std;

int main()
{
	ifstream fin("multimi2.in");
	ofstream fout("multimi2.out");
	int n,i;
	
	fin>>n;
	if(n%4==0)
	{
		fout<<"0\n";
		
		fout<<n/2<<'\n'; //n/4*2
		for(i=1;i+3<=n;i+=4)
			fout<<i<<' '<<i+3<<' ';
		fout<<'\n';
		
		fout<<n/2<<'\n'; //n/4*2
		for(i=2;i+1<=n;i+=4)
			fout<<i<<' '<<i+1<<' ';
		fout<<'\n';
	}
	else if(n%4==1)
	{
		fout<<"1\n";
		fout<<n/2+1<<'\n';
		fout<<"1 ";
		for(i=2;i+3<=n;i+=4)
			fout<<i<<' '<<i+3<<' ';
		fout<<'\n';
		
		fout<<n/2<<'\n';
		for(i=3;i+1<=n;i+=4)
			fout<<i<<' '<<i+1<<' ';
		fout<<'\n';
	}
	else if(n%4==2)
	{
		fout<<"1\n";
		
		fout<<((n/4)*2)+1<<'\n';
		fout<<"1 ";
		for(i=3;i+3<=n;i+=4)
			fout<<i<<' '<<i+3<<' ';
		fout<<'\n';
		
		fout<<(n/4*2)+1<<'\n';
		fout<<"2 ";
		for(i=4;i+1<=n;i+=4)
			fout<<i<<' '<<i+1<<' ';
		fout<<'\n';
	}
	else if(n%4==3)
	{
		fout<<"0\n";
		
		fout<<(n/4*2)+2<<'\n';
		fout<<"1 2 ";
		for(i=4;i+3<=n;i+=4)
			fout<<i<<' '<<i+3<<' ';
		fout<<'\n';
		
		fout<<((n/4)*2)+1<<'\n';
		fout<<"3 ";
		for(i=5;i+1<=n;i+=4)
			fout<<i<<' '<<i+1<<' ';
		fout<<'\n';
	}
	fin.close();
	fout.close();
	return 0;
}