Cod sursa(job #335031)

Utilizator jeanFMI - Petcu Ion Cristian jean Data 28 iulie 2009 14:05:12
Problema Dame Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.89 kb
#include<cstdio>

int i,n,aux,r,v[1010],val,p=1,u,s,d,linie;

int main()
{
	freopen("dame.in","r",stdin);
	freopen("dame.out","w",stdout);
	
	scanf("%d",&n);
	
	if(n==1||n==2) 
	{
		printf("%d\n %d %d",1,1,1); return 0;
	}
	else if(n==3)
	{
		printf("%d\n %d %d\n %d %d",2,1,1,2,3);
	return 0;
	}
	
	val=2; r=n%12;
	
	while(val<=n)
	{
		v[++u]=val;
	val+=2;
	}
	if(r==3||r==9) { v[++u]=2; p++;}
	
	d=u; s=u+1; val=1;
	
	while(val<=n)
	{
		v[++d]=val;
		val+=2;
	}
	
	if(r==8)
	{
		for(i=s;i<=d;i+=2)
		{
			aux=v[i]; v[i]=v[i+1]; v[i+1]=aux;
		}
	}
	if(r==2)
	{
		v[s+2]=1; v[++d]=5; s++;
	}
	if(r==3||r==9) 
	{
		v[++d]=1; v[++d]=3; s+=2;
	}
	
	printf("%d\n",n);
	linie=1;
	for(i=p;i<=u;i++,linie++)
	{
		printf("%d %d\n",linie,v[i]);
	}
	
	for(i=s;i<=d;i++,linie++)
	{
		printf("%d %d\n",linie,v[i]);
	}
	return 0;
}