Cod sursa(job #489424)

Utilizator nautilusCohal Alexandru nautilus Data 2 octombrie 2010 16:04:03
Problema Multimi2 Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 1.36 kb
#include<fstream>
using namespace std;

long long n;

void impartire()
{
 long long i;
 
 ofstream fout("multimi2.out");
	
 if (n%4==0)
	 {
	  fout<<"0"<<'\n';
	  
	  fout<<n/2<<'\n';
	  for (i=1; i<=n; i++)
		  if (i%4==1 || i%4==0)
			  fout<<i<<" ";
	  fout<<'\n';
	  
	  fout<<n/2<<'\n';
	  for (i=1; i<=n; i++)
		  if (i%4==2 || i%4==3)
			  fout<<i<<" ";
	 } 
 
 if (n%4==1)
	 {
	  fout<<"1"<<'\n';
	  
	  fout<<n/2+1<<'\n';
	  fout<<"1 ";
	  for (i=2; i<=n; i++)
		  if (i%4==2 || i%4==1)
			  fout<<i<<" ";
	  fout<<'\n';
	  
	  fout<<n/2<<'\n';
	  for (i=2; i<=n; i++)
		  if (i%4==3 || i%4==0)
			  fout<<i<<" ";
	 }
	
 if (n%4==2)
	 {
	  fout<<"1"<<'\n';
	  
	  fout<<n/2<<'\n';
	  fout<<"1 ";
	  for (i=3; i<=n; i++)
		  if (i%4==1 || i%4==0)
			  fout<<i<<" ";
	  fout<<'\n';
	  
	  fout<<n/2<<'\n';
	  fout<<"2 ";
	  for (i=3; i<=n; i++)
		  if (i%4==2 || i%4==3)
			  fout<<i<<" ";
	 }
 
 if (n%4==3)
	 {
	  fout<<"0"<<'\n';
	  
	  fout<<n/2+1<<'\n';
	  fout<<"1 2 ";
	  for (i=4; i<=n; i++)
		  if (i%4==3 || i%4==0)
			  fout<<i<<" ";
	  fout<<'\n';
	  
	  fout<<n/2<<'\n';
	  fout<<"3 ";
	  for (i=4; i<=n; i++)
		  if (i%4==2 || i%4==1)
			  fout<<i<<" ";
	 }
 
 fout.close();
}


int main()
{	
 ifstream fin("multimi2.in");
 fin>>n;
 
 impartire();
 
 fin.close();
 
 return 0;
}