Cod sursa(job #75984)

Utilizator MarcvsHdrMihai Leonte MarcvsHdr Data 7 august 2007 11:10:10
Problema Dame Scor 55
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.78 kb
# include <stdio.h>

long int n;

void citire()
{
FILE *f=fopen("dame.in","r");
fscanf(f,"%ld",&n);
fclose(f);
}

void scrie_1()
{
FILE *g=fopen("dame.out","w");
fprintf(g,"1\n1 1\n");
}

void scrie_3()
{
FILE *g=fopen("dame.out","w");
fprintf(g,"2\n1 1\n3 2\n");
}

void scrie()
{
long int i=2,j,ok=-20000,nr=0;
FILE *g=fopen("dame.out","w");
fprintf(g,"%ld\n",n);
for (j=1;j<=n;j++)
	{
	if (nr||ok<0||(ok>0&&j==n&&ok%2==1)) fprintf(g,"%ld %ld\n",i,j);
	else if (ok>0&&ok%2==1) fprintf(g,"%ld %ld\n",i,j+1);
	else if (ok>0&&ok%2==0) fprintf(g,"%ld %ld\n",i,j-1);
	i+=2;
	if (i>n)
		{
		i=1;
		ok=0;
		if ((j+2)%3==2) nr=1;
		}
	ok++;
	}
}

int main()
{
citire();
if (n<=1) scrie_1();
else if (n==3) scrie_3();
else scrie();
fcloseall();
return 0;
}