Cod sursa(job #48381)

Utilizator DastasIonescu Vlad Dastas Data 4 aprilie 2007 18:44:30
Problema Dame Scor 70
Compilator cpp Status done
Runda Arhiva de probleme Marime 1.22 kb
#include <iostream>
#include <fstream>

using namespace std;

ifstream in("dame.in");
ofstream out("dame.out");

int n;
int a[1100];

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;
    }

//    int nrdame = 0;
//
//    for ( int i = 0; i < k; ++i )
//        if ( a[i] != -1 )
//            ++nrdame;

    if ( n == 1 || n >= 4 )
        out << n << endl;
    else
        out << n-1 << endl;
    for ( int i = 0; i < k; ++i )
        if ( a[i] != -1 )
            out << i+1 << " " << a[i] << endl;

	return 0;
}