Pagini recente » Cod sursa (job #1771095) | Cod sursa (job #2119449) | Cod sursa (job #1845513) | Cod sursa (job #706822) | Cod sursa (job #68559)
Cod sursa(job #68559)
using namespace std;
#define MAX_N 1005
#include <stdio.h>
FILE *fin=fopen("dame.in","r"),
*fout=fopen("dame.out","w");
int a[MAX_N];
int n,i,k,p;
int main()
{
fscanf(fin,"%d",&n);
if (n==2)
{
fprintf(fout,"1\n1 1");
return 0;
}
if (n==3)
{
fprintf(fout,"2\n1 1\n3 2\n");
return 0;
}
if (n%12==3 || n%12==9) {
for (i=4; i<=n; i+=2)
a[++k]=i;
a[++k]=2; }
else
for (i=2; i<=n; i+=2)
a[++k]=i;
p=k+1;
for (i=1; i<=n; i+=2)
a[++k]=i;
int aux;
if (n%12==8)
for (i=p; i<=k; i+=2)
{
aux=a[i];
a[i]=a[i+1];
a[i+1]=aux;
}
if (n%12==2)
{
k=p-1;
a[++k]=3; a[++k]=1;
for (i=7; i<=n; i+=2)
a[++k]=i;
a[++k]=5;
}
if (n%12==3 || n%12==9)
{
k=p-1;
for (i=5; i<=n; i+=2)
a[++k]=i;
a[++k]=1; a[++k]=3;
}
fprintf(fout,"%d\n",k);
for (i=1; i<=k; i++)
fprintf(fout,"%d %d\n",a[i],i);
return 0;
}