Cod sursa(job #489217)

Utilizator bog29Antohi Bogdan bog29 Data 1 octombrie 2010 19:44:50
Problema Multimi2 Scor 80
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.91 kb
#include<fstream>
using namespace std;
ifstream in("multimi2.in");
ofstream out("multimi2.out");

long int n,r;

void get1(int k,int x)
{	long int i;
	for(i=k;i<=n;i++)
		if((i-x-1)%4==0 || (i-x-1)%4==3)
			out<<i<<" ";
	out<<'\n';	
}

void get2(int k,int x)
{	long int i;
	for(i=k;i<=n;i++)
		if((i-x-1)%4==1 || (i-x-1)%4==2)
			out<<i<<" ";
	out<<'\n';	
}		


int main()
{	
	in>>n;
	in.close();
	
	r=n%4;
	
	if(r==0)
	{	out<<"0\n";
		out<<n/2<<'\n';
		get1(1,0);
		out<<n/2<<'\n';
		get2(1,0);
	}
	if(r==1)
	{	out<<"1\n";
		out<<n/2+1<<'\n';
		out<<"1 ";
		get1(2,1);
		out<<n/2<<'\n';
		get2(2,1);
	}
	if(r==2)
	{	out<<"0\n";
		out<<n/2<<'\n';
		out<<"1 ";
		get1(3,0);
		out<<n/2<<'\n';
		out<<"2 ";
		get2(3,0);
	}
	if(r==3)
	{	out<<"0\n";
		out<<n/2+1<<'\n';
		out<<"1 2 ";
		get1(4,1);
		out<<n/2<<'\n';
		out<<"3 ";
		get2(4,1);
	}
	out.close();
	return 0;
}