Cod sursa(job #54683)

Utilizator FlorianFlorian Marcu Florian Data 25 aprilie 2007 15:34:59
Problema Dame Scor 60
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.74 kb
#include<stdio.h>
int main()
{int n,i,j,v[1001],x,y,in,p;
FILE*f=fopen("dame.in","r");
FILE*g=fopen("dame.out","w");
fscanf(f,"%d",&n);
if (n==1||n>=4)
	{
	fprintf(g,"%d\n",n);
	 y=n;
	 p=2;
	 in=n/2+1;
	 for(i=1;i<=n/2;i+=1)
		{
		v[i]=p;p+=2;}
	 if(n%12==3||n%12==9) {in++;v[n/2+1]=2; v[1]=-1;}
	 p=1;
	 for(i=in;i<=n;i++) {v[i]=p; p+=2;}
	 if(n%12==3||n%12==9)
		{
		v[in]=-1; y++; v[y]=1; y++; v[y]=3;
		}
	 else if(n%12==8)
		{
		for(i=in;i<=n;i+=4) {v[i]=i+2; v[i+2]=i;}}
	 else if(n%12==2) {v[in]=1; v[in+1]=1; v[in]=3; y++; v[y]=5;}
       for(i=1;i<=y;i++) fprintf(g,"%d %d\n",i,v[i]);}
else {
      if(n==2) fprintf(g,"1\n1 1");
      else if (n==3) fprintf(g,"2\n1 1\n2 3");
}
fclose(f);
fclose(g);
return 0;}