Pagini recente » Cod sursa (job #1085368) | Cod sursa (job #1834183) | Cod sursa (job #2456168) | Cod sursa (job #1586138) | Cod sursa (job #313088)
Cod sursa(job #313088)
#include <stdio.h>
#define DIM 1005
int a[DIM];
int n,nr;
int main ()
{
freopen ("dame.in","r",stdin);
freopen ("dame.out","w",stdout);
int i;
scanf ("%d",&n);
for (i=2; i<=n; i+=2)
a[++nr]=i;
if (n%12==3 || n%12==9)
{
for (i=1; i<nr; ++i)
a[i]=a[i+1];
a[nr]=2;
}
for (i=1; i<=n; i+=2)
a[++nr]=i;
if (n%12==8)
for (i=nr; a[i]%2==1; i-=2)
a[i]^=a[i-1]^=a[i]^=a[i-1];
if (n%12==2)
{
for (i=1; i<=nr; ++i)
if (a[i]==3)
{
a[i]^=a[i+1]^=a[i]^=a[i+1];
break;
}
for ( ; i<nr; ++i)
a[i]=a[i+1];
a[nr]=5;
}
if (n%12==3 || n%12==9)
{
for (i=1; i<=nr; ++i)
if (a[i]==3 || a[i]==1)
break;
for ( ; i<nr-1; ++i)
a[i]=a[i+2];
a[nr-1]=1;
a[nr]=3;
}
if (n==2)
printf ("1\n1 1\n");
else if (n==3)
printf ("1\n1 1\n3 2\n");
else
{
printf ("%d",n);
for (i=1; i<=n; ++i)
printf ("%d %d\n",i,a[i]);
}
return 0;
}