Pagini recente » Cod sursa (job #3200481) | Cod sursa (job #2747470) | Cod sursa (job #361530) | Cod sursa (job #6024) | Cod sursa (job #120337)
Cod sursa(job #120337)
#include <stdio.h>
main()
{
FILE *r;
int n,a[1001],i,l,m,aux;
r=fopen("dame.in","r");
fscanf(r,"%d",&n);
fclose(r);
r=fopen("dame.out","w");
if (n==1)
fprintf(r,"1\n1 1");
if (n==2)
fprintf(r,"1\n1 1");
if (n==3)
fprintf(r,"2\n1 1\n3 2");
if (n>=4)
{
l=n%12;
m=n%2;
if (m==0)
{
for (i=1;i<=n/2;i++)
a[i]=2*i;
if ((l==3)||(l==9))
{
for (i=1;i<=n/2-1;i++)
a[i]=a[i+1];
a[n/2]=2;
}
for (i=1;i<=n/2;i++)
a[n/2+i]=2*i-1;
if (l==8)
{
for (i=n/2+1;i<=n;i=i+2)
{
aux=a[i];
a[i]=a[i+1];
a[i+1]=aux;
}
}
if (l==2)
{
a[n/2+1]=3;
a[n/2+2]=1;
for (i=n/2+3;i<=n-1;i++)
a[i]=a[i+1];
a[n]=5;
}
if ((l==3)||(l==9))
{
for (i=n/2+1;i<=n-2;i++)
a[i]=a[i+2];
a[n-1]=1;
a[n]=3;
}
}
if (m==1)
{
for (i=1;i<=(n-1)/2;i++)
a[i]=2*i;
if ((l==3)||(l==9))
{
for (i=1;i<=(n-1)/2-1;i++)
a[i]=a[i+1];
a[(n-1)/2]=2;
}
for (i=1;i<=(n+1)/2;i++)
a[(n-1)/2+i]=2*i-1;
if (l==8)
{
for (i=(n-1)/2+1;i<=n;i=i+2)
{
aux=a[i];
a[i]=a[i+1];
a[i+1]=aux;
}
}
if (l==2)
{
a[(n-1)/2+1]=3;
a[(n-1)/2+2]=1;
for (i=(n-1)/2+3;i<=n-1;i++)
a[i]=a[i+1];
a[n]=5;
}
if ((l==3)||(l==9))
{
for (i=(n-1)/2+1;i<=n-2;i++)
a[i]=a[i+2];
a[n-1]=1;
a[n]=3;
}
}
fprintf(r,"%d\n",n);
for (i=1;i<=n;i++)
fprintf(r,"%d %d\n",i,a[i]);
}
fclose(r);
}