Cod sursa(job #212741)

Utilizator taloibogdanTaloi Bogdan Cristian taloibogdan Data 6 octombrie 2008 19:13:03
Problema Dame Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.71 kb
#include<stdio.h>
long n,r,l,l1,i,a[1005],ll;
int main()
{
 freopen("dame.in","r",stdin);
 freopen("dame.out","w",stdout);
 scanf("%ld",&n);
 if(n==1){printf("1\n1 1\n");return 0;}
 if(n==2){printf("1\n1 1\n");return 0;}
 if(n==3){printf("2\n1 1\n3 2\n");return 0;}
 r=n%12;
 l=0;
 for(i=2;i<=n;i+=2)a[++l]=i;
 if(r==3||r==9){a[1]=0;a[++l]=2;}
 l1=l+1;
 for(i=1;i<=n;i+=2)if(r==8)if(!((i/2)%2)){if(i+2<=n)a[++l]=i+2;}
                             else a[++l]=i-2;
                      else a[++l]=i;
 if(r==3||r==9){a[l1]=0;a[l1+1]=0;a[++l]=1;a[++l]=3;}
 if(r==2&&n>=5){a[l1]=3;a[l1+1]=1;a[l1+2]=0;a[++l]=5;}
 printf("%ld\n",n);
 ll=0;
 for(i=1;i<=l;++i)if(a[i])printf("%ld %ld\n",++ll,a[i]);
 return 0;
}