Cod sursa(job #1443884)

Utilizator morandy14Andreea morandy14 Data 28 mai 2015 21:19:05
Problema Dame Scor 80
Compilator cpp Status done
Runda Arhiva de probleme Marime 1.23 kb
#include<fstream>
#include<iostream>
using namespace std;
ifstream fin ("dame.in");
ofstream fout("dame.out");
int n,i,j,v[1001];
void schimba (int x, int y)
{
	int aux;
	aux=x;
	x=y;
	y=aux;
}
int main ()
{
	fin>>n;
	int k=0;
	if(n==1 || n==2)
	{
		fout<<1<<'\n';
		fout<<"1"<<" "<<"1";
		k=1;
	
	}
	else
		if(n==3)
		{
			fout<<2<<'\n';
			fout<<"1"<<" "<<"1"<<'\n'<<"2"<<" "<<"3";
			k=1;
			
		}
		else
			if(n>3)
			{
				int z=n%6;
				for(i=1;i<=n;i=i+2)
					v[n/2+i/2+1]=i;
					for(i=2;i<=n;i=i+2)
					v[i/2]=i;
					if(k==0)
					{
					
						if(z==3 || z==9)
						{
							for(i=1;i<=n/2;i++)
								v[i]=v[i+1];
							v[n/2]=2;
							for(i=n/2+1;i<n-i;i++)
								v[i]=v[i+2];
							v[n-1]=1;
							v[n]=3;
							
						}
						else
							if(z==2)
							{
								v[n/2+1]=3;
								v[n/2+2]=1;
								for(i=n/2+3;i<n;i++)
									v[i]=v[i+1];
								v[n]=5;
							}
							else
								if(z==8)
								{
									for(i=1;i<=n;i++)
										schimba(v[i],v[i+1]);
								}
								fout<<n<<'\n';
								for(i=1;i<=n;i++)
								{
									fout<<i<<" "<<v[i]<<'\n';
								
								}			
						
					
			}
					
								return 0;
			}
			
	
}