Pagini recente » Cod sursa (job #1100084) | Cod sursa (job #2015480) | Cod sursa (job #2326566) | Cod sursa (job #1574679) | Cod sursa (job #460732)
Cod sursa(job #460732)
#include <algorithm>
using namespace std;
const char FIN[] = "dame.in";
const char FOU[] = "dame.out";
const int MAX = 105;
int V[MAX];
int N, k = 0;
int main()
{
freopen(FIN, "r", stdin);
freopen(FOU, "w", stdout);
scanf("%d", &N);
for (int i = 1; i <= N >> 1; ++i)
if ( !(i == 1 && (N % 12 == 3 || N % 12 == 9)) )
V[++k] = i << 1;
if ( N % 12 == 3 || N % 12 == 9 ) V[++k] = 2;
for (int i = 1; i <= N >> 1; ++i)
if ( !(i == 3 && (N % 12 == 2)) )
if ( !( (i == 1 || i == 2) && (N % 12 == 3 || N % 12 == 9)) )
V[++k] = (i << 1) - 1;
if ( N % 12 == 8 )
for (int i = (N >> 1) + 1; i <= k; i += 2)
swap ( V[i], V[i + 1] );
else if ( N % 12 == 2 )
swap ( V[(N >> 1) + 1], V[(N >> 1) + 2] ), V[++k] = 5;
else if (N % 12 == 3 || N % 12 == 9) V[++k] = 1, V[++k] = 3;
printf("%d\n", k);
for (int i = 1; i <= k; ++i)
printf("%d %d\n", i, V[i]);
return 0;
}