Pagini recente » Cod sursa (job #1663200) | Cod sursa (job #828825) | Cod sursa (job #2833234) | Cod sursa (job #94829) | Cod sursa (job #328244)
Cod sursa(job #328244)
#include<stdio.h>
int a[1002];
int n,i,q;
int main()
{
freopen("dame.in","r",stdin);
freopen("dame.out","w",stdout);
scanf("%ld",&n);
a[0]=n >> 1;
for (i=1; i<=a[0]; i++)
a[i]=i << 1;
if ((n % 12 == 3) || (n % 12 == 9))
{
for (i=1; i<a[0]; i++)
a[i]=a[i+1];
a[a[0]]=2;
}
int mij=a[0];
i=1;
while (i<=n)
{
a[0]++;
a[a[0]]=i;
i+=2;
}
if (n % 12 == 8)
{
for (i=mij+1; i<=n; i++)
if (( i - mij ) % 2 == 1)
{
q=a[i]; a[i]=a[i+1]; a[i+1]=q;
}
}
if (n % 12 == 2)
{
a[mij+1]=3; a[mij+2]=1;
for (i=mij+3; i<=n; i++)
a[i]=a[i+1];
a[n]=5;
}
if ((n % 12 == 3 ) || (n % 12 == 9))
{
for (i=mij+1; i<=n-2; i++)
a[i]=a[i+2];
a[n-1]=1;
a[n]=3;
}
if (n<=2) printf("1\n1 1\n");
if (n==3) printf("2\n1 1\n3 2\n");
if (n>3)
{
printf("%ld\n",n);
for (i=1; i<=n; i++)
printf("%ld %ld\n",i,a[i]);
}
fclose(stdin); fclose(stdout);
return 0;
}