Pagini recente » Cod sursa (job #1834194) | Cod sursa (job #1915313) | Cod sursa (job #1262812) | Cod sursa (job #2908684) | Cod sursa (job #48408)
Cod sursa(job #48408)
#include <iostream>
#include <fstream>
using namespace std;
ifstream in("dame.in");
ofstream out("dame.out");
int n;
int a[1600];
int main()
{
in >> n;
int r = n % 12;
int k = 0;
for ( int i = 2; i <= n; i += 2 )
a[k++] = i;
if ( r == 3 || r == 9 )
{
a[k++] = 2;
a[0] = -1;
}
int poz1 = k;
for ( int i = 1; i <= n; i += 2 )
a[k++] = i;
if ( r == 8 )
for ( int i = poz1; i <= n; i += 2 )
{
int t = a[i];
a[i] = a[i+1];
a[i+1] = t;
}
if ( r == 2 )
{
int t = a[poz1];
a[poz1] = a[poz1+1];
a[poz1+1] = t;
a[k++] = 5;
a[poz1+2] = -1;
}
if ( r == 3 || r == 9 )
{
a[poz1] = -1;
a[poz1+1] = -1;
a[k++] = 1;
a[k++] = 3;
}
if ( n == 1 || n >= 4 )
out << n << endl;
else
{
out << n-1 << endl;
if ( n == 2 )
out << 1 << " " << 1 << endl;
else if ( n == 3 )
{
out << 1 << " " << 1 << endl;
out << 3 << " " << 2 << endl;
}
return 0;
}
int t = 0;
for ( int i = 0; i < k; ++i )
if ( a[i] != -1 )
out << i+1-t << " " << a[i] << endl;
else
++t;
return 0;
}