Cod sursa(job #518908)

Utilizator ms-ninjacristescu liviu ms-ninja Data 3 ianuarie 2011 14:49:32
Problema Dame Scor 80
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.9 kb
#include <fstream>
using namespace std;

#define dim 1001
int v[dim];
int main ()
{
	ifstream fin("dame.in");
	ofstream fout("dame.out");
	int n, i, k,aux,a,l;
	fin>>n;
	
	if(n==1 || n==2)
	{
		fout<<"1" <<'\n' <<"1 1";
		return 0;
	}
	else
		if(n==3)
		{	fout<<"2" <<'\n';
			fout<<"1 1" <<'\n' <<"2 3";
			return 0;
		}
	
	
	k=0;
	for(i=2;i<=n;i+=2)
		v[++k]=i;
	
	if(n%12==3 || n%12==9)
	{
		for(l=1;i<k;++l)
			v[l]=v[l+1];
		v[k]=2;
	}

	a=k+1;
	
	for(i=1;i<=n;i+=2)
		v[++k]=i;
	
	if(n%12==3 || n%12==9)
	{
		for(i=a;i<k-1;i++)
			v[i]=v[i+2];
		v[k-1]=1;
		v[k]=3;
	}
	
	if(n%12==2)
	{
		v[a]=3;
		v[a+1]=1;
		for(i=a+2;i<k;i++)
			v[i]=v[i+1];
		v[k]=5;
	}
	else
		if(n%12==8)
			for(i=a;i<=k;i+=2)
			{
				aux=v[i];
				v[i]=v[i+1];
				v[i+1]=aux;
			}
	
	
		fout<< n<<'\n';
	for(i=1;i<=n;++i)
		fout<< i <<" " <<v[i] <<'\n';
	
	return 0;
}