Pagini recente » Cod sursa (job #1686303) | Cod sursa (job #1977250) | Cod sursa (job #1831315) | Cod sursa (job #628315) | Cod sursa (job #57758)
Cod sursa(job #57758)
#include<string.h>
#include<stdio.h>
int n,i,j,v[1003],x[1003],y,in,p,z;
int main()
{FILE*f=fopen("dame.in","r");
FILE*g=fopen("dame.out","w");
fscanf(f,"%d",&n);
if (n>=4)
{
fprintf(g,"%d\n",n);
y=n;
z=n;
p=2;
for (i=2;i<=n;i+=2) v[i]=i;
if(n%12==3||n%12==9)
{
y++;
if(y%2!=0) y++;
v[y]=2; v[2]=0;
}
for(i=1;i<=n;i+=2) x[i]=i;
if(n%12==8)
{
for(i=1;i<=n-2;i+=4) {x[i]=i+2; x[i+2]=i;}
}
else if (n%12==2)
{
z++; x[z]=5; x[5]=0; x[1]=3; x[3]=1;
}
else if(n%12==3||n%12==9)
{
z++;
if (z%2==0) z++;
x[z]=1;
z++;
if(z%2==0) z++;
x[z]=3; x[1]=0; x[3]=0;}
p=1; i=2;
while(i<=y)
{
if(v[i]!=0) {fprintf(g,"%d %d\n",p,v[i]); p++;}
i+=2; }
i=1;
while(i<=z)
{
if(x[i]!=0) {fprintf(g,"%d %d\n",p,x[i]); p++;}
i=i+2;}
}
else {
if(n==2) fprintf(g,"1\n1 1");
else if (n==3) fprintf(g,"2\n1 1\n2 3");
else if (n==1) fprintf(g,"1\n1 1");
}
fclose(f);
fclose(g);
return 0;}