Cod sursa(job #215881)

Utilizator cotofanaCotofana Cristian cotofana Data 21 octombrie 2008 17:51:38
Problema Dame Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.95 kb
#include <stdio.h>

int n, v[1001], r;

int main()
{
	int i, j;
	freopen("dame.in", "r", stdin);
	freopen("dame.out", "w", stdout);
	scanf("%d", &n);
	if (n>=4)
	{
	r=n%12;
	i=1;
	if (r==3 || r==9)
	{
		j=4;
		do
		{
			v[i++]=j;
			j+=2;
		} while (j<=n);
		v[i++]=2;
		j=5;
		do
		{
			v[i++]=j;
			j+=2;
		} while (j<=n);
		v[i++]=1;
		v[i++]=3;
	}
	else
	{
		j=2;
		do
		{
			v[i++]=j;
			j+=2;
		} while (j<=n);
		if (r==8)
		{
			j=3;
			do
			{
				v[i++]=j;
				v[i++]=j-2;
				j+=4;
			} while (j<=n);
			if (j-2<=n) v[i++]=j-2;
		}
		else if (r==2)
		{
			v[i++]=3;
			v[i++]=1;
			j=7;
			while (j<=n)
			{
				v[i++]=j;
				j+=2;
			}
			v[i++]=5;
		}
		else
		{
			j=1;
			do
			{
				v[i++]=j;
				j+=2;
			} while (j<=n);
		}
	}
	printf("%d\n", n);
	for (i=1; i<=n; i++) printf("%d %d\n", i, v[i]);
	}
	else if (n==3) printf("2\n1 1\n2 3\n");
	else printf("1\n1 1\n");
	return 0;
}