Cod sursa(job #9015)

Utilizator adri_seceSeceleanu Adrian adri_sece Data 26 ianuarie 2007 12:48:31
Problema Dame Scor 60
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.98 kb
#include<stdio.h>
#include<iostream.h>
FILE *fin,*fout;
int d[1001],c[1001],n,j,k,rl[100],rc[100];
int f(int n)
{
if(n%2==0)
	return n/2;
else return n/2+1;
}
int main()
{
int i,cc,lc;
fin=fopen("dame.in","rt");
fout=fopen("dame.out","wt");
fscanf(fin,"%d",&n);
if(n==2)n--;
fclose(fin);
lc=1;
cc=f(n);
c[cc]=1;
d[cc-lc+n]=1;
i=f(n)-1;
if(n==3)
	fprintf(fout,"%d\n",n-1);
else fprintf(fout,"%d\n",n);
fprintf(fout,"%d %d\n",lc,cc);

while(i>0)
	{
	lc+=2;
	cc--;
	c[cc]=d[cc-lc+n]=1;
	fprintf(fout,"%d %d\n",lc,cc);
	i--;
	}
if(n==3)
	return 0;
if(n%2==0)
	lc=n;
else lc=n-1;
cc=f(n)+1;
if(d[cc-lc+n]==0)
	{
	for(i=1;i<=n/2;i++)
		{
		 fprintf(fout,"%d %d\n",lc,cc);
		 lc-=2;
		 cc++;
		}
	}
else
	{
	lc-=2;
	int ind=0;
	for(i=1;i<=n/2;i++)
		{
		if(i==n/2) lc=2;
		 fprintf(fout,"%d %d\n",lc,cc);
		 if(ind==0)
			{
			lc+=2;
			ind=1;
			}
		 else
			{
			lc-=6;
			ind=0;
			}
		 cc++;
		}
	}
fclose(fout);
return 0;
}