Pagini recente » Cod sursa (job #2364460) | Cod sursa (job #683031) | Cod sursa (job #106047) | Cod sursa (job #2835994) | Cod sursa (job #592540)
Cod sursa(job #592540)
#include <cstdio>
#include <algorithm>
using namespace std;
int v[1001];
int main()
{
int n,i;
freopen("dame.in","r",stdin);
freopen("dame.out","w",stdout);
scanf("%d",&n);
if (n==2)
{
printf("1\n1 1\n");
return 0;
}
else if (n==3)
{
printf("2\n1 1\n2 3\n");
return 0;
}
for (i=2;i<=n;i+=2)
v[i/2]=i;
for (i=1;i<=n;i+=2)
v[n/2+i/2+1]=i;
if (n%6==3)
{
for (i=1;i<n/2;++i)
v[i]=v[i+1];
v[n/2]=2;
for (i=n/2+1;i<n-1;++i)
v[i]=v[i+2];
v[n-1]=1;
v[n]=3;
}
else if (n%12==2)
{
v[n/2+1]=3;
v[n/2+2]=1;
for (i=n/2+3;i<n;++i)
v[i]=v[i+1];
v[n]=5;
}
else if (n%12==8)
{
for (i=n/2+1;i<n;i+=2)
swap(v[i],v[i+1]);
}
printf("%d\n",n);
for (i=1;i<=n;++i)
printf("%d %d\n",i,v[i]);
return 0;
}