Pagini recente » Cod sursa (job #915813) | Cod sursa (job #637213) | Cod sursa (job #2114290) | Cod sursa (job #2533286) | Cod sursa (job #14273)
Cod sursa(job #14273)
#include <stdio.h>
#define NMAX 1002
int i,j,n,m,A[NMAX];
int main()
{
freopen("dame.in","r",stdin);
freopen("dame.out","w",stdout);
scanf("%d",&n);
int N=n;
int R=n % 12;
for (i=2;i<=N;i+=2)
A[++A[0]]=i;
if (R==3 || R==9)
{
for (i=1;i<=A[0];i++)
A[i]=A[i+1];
A[A[0]]=2;
}
int p=A[0]+1;
for (i=1;i<=N;i+=2)
A[++A[0]]=i;
if (R == 8)
{
for (i=p;i<=A[0];i+=2)
{
int x=A[i];
A[i]=A[i+1];
A[i+1]=x;
}
}
if (R == 2)
{
A[p]=3; A[p+1]=1;
for (i=p+3;i<=A[0];i++)
A[i]=A[i+1];
A[A[0]]=5;
}
if (R == 3 || R == 9)
{
for (i=p;i<=A[0];i++)
A[i]=A[i+1];
for (i=p;i<=A[0];i++)
A[i]=A[i+1];
A[A[0]-1]=3; A[A[0]-1]=1;
}
if (n > 4)
{
printf("%d\n",n);
for (i=1;i<=A[0];i++)
printf("%d %d\n",i,A[i]);
}
else
if (n == 1)
{
printf("1\n1 1\n");
}
else
if (n == 2)
{
printf("1\n1 1\n");
}
else
if (n == 3)
{
printf("2\n1 1\n3 2\n");
}
else
if (n == 4)
{
printf("3\n1 1\n3 2\n2 4\n");
}
fclose(stdin);
fclose(stdout);
return 0;
}