Cod sursa(job #518897)

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

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