Cod sursa(job #205376)

Utilizator Astrid28Ruxandra Cohal Astrid28 Data 31 august 2008 13:26:42
Problema Dame Scor 95
Compilator cpp Status done
Runda Arhiva de probleme Marime 1.09 kb
#include<fstream.h>

int n,a[1005];
ofstream fout("dame.out");


void citire()
{
	ifstream fin("dame.in");
	fin>>n;
	fin.close();
}


void afis()
{
	int i;
	fout<<n<<'\n';
	for(i=1;i<=n;i++)
		fout<<i<<' '<<a[i]<<'\n';
	fout.close();
}



void det()
{
	int i,j,n2,r,aux;
	if(n==1)
		fout<<"1"<<'\n', fout<<"1 1"<<'\n', fout.close();
	 else
		 if(n==2)
					fout<<"1"<<'\n', fout<<"1 1"<<'\n', fout.close();
			 else if(n==3)
							fout<<"2"<<'\n', fout<<"1 1"<<'\n', fout<<"3 2"<<'\n', fout.close();
				 else
					 {
						 n2=n/2; r=n%12;
						 for(i=1;i<=n2;i++)
							 a[i]=2*i;
						 if(r==3 || r==9)
							 {
								 for(i=1;i<n2;i++)
									 a[i]=a[i+1];
								 a[n2]=2;
							 }
						 j=1;
						 for(i=n2+1;i<=n;i++,j+=2)
							 a[i]=j;
						 if(r==8)
							 for(i=n2+1;i<n;i+=2)
								 aux=a[i], a[i]=a[i+1], a[i+1]=aux;
						 if(r==3 || r==9)
							 {
								 for(i=n2+1;i<=n-2;i++)
									 a[i]=a[i+2];
								 a[n-1]=1, a[n]=3;
							 }

						 afis();
					 }

}


int main()
{
	citire();
	det();
	return 0;
}