Pagini recente » Cod sursa (job #1897075) | Cod sursa (job #1274054) | Cod sursa (job #1150466) | Cod sursa (job #1737358) | Cod sursa (job #2014304)
#include <bits/stdc++.h>
const int MAXN = (int) 1e3;
int v[MAXN + 1];
int main() {
FILE *fi, *fout;
int i, n, j;
fi = fopen("dame.in" ,"r");
fout = fopen("dame.out" ,"w");
fscanf(fi,"%d " ,&n);
int sz = 0;
for(i = 2; i <= n; i += 2)
v[++sz] = i;
if(n % 12 == 3 || n % 12 == 9) {
for(i = 2; i <= sz; i++)
v[i - 1] = v[i];
v[sz] = 2;
}
int p = sz + 1;
for(i = 1; i <= n; i += 2)
v[++sz] = i;
if(n % 12 == 8) {
for(i = p; i <= sz; i += 2)
std::swap(v[i], v[i + 1]);
}
if(n % 12 == 2) {
std::swap(v[p], v[p + 1]);
for(i = p + 3; i <= sz; i++)
v[i - 1] = v[i];
v[sz] = 5;
}
if(n % 12 == 3 || n % 12 == 9) {
i = 1;
while(v[i] != 1)
i++;
for(j = i + 1; j <= sz; j++)
v[j - 1] = v[j];
v[sz] = 1;
i = 1;
while(v[i] != 3)
i++;
for(j = i + 1; j <= sz; j++)
v[j - 1] = v[j];
v[sz] = 3;
}
fprintf(fout,"%d\n" ,n);
for(i = 1; i <= sz; i++)
fprintf(fout,"%d %d\n" ,i,v[i]);
fclose(fi);
fclose(fout);
return 0;
}