Cod sursa(job #2392174)

Utilizator ezioconnorVlad - Gabriel Iftimescu ezioconnor Data 29 martie 2019 19:04:57
Problema Dame Scor 60
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 1.11 kb
#include <fstream>

using namespace std;

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

int main()
{
    int n;
    in >> n;
    if (n == 3)
    {
        out << 2 << '\n' << 1 << " " << 1 << '\n' << 2 << " " << 3;
        return 0;
    }
    if (n == 2)
    {
        out << 1 << '\n' << 1 << " " << 1;
        return 0;
    }
    if (n % 6 != 2 && n % 2 == 0)
    {
        out << n << '\n';
        for (int i = 1; i <= n / 2; ++i)
            out << i << " " << 2 * i << '\n' << n / 2 + i << " " << 2 * i - 1 << '\n';
        return 0;
    }
    if (n % 2 == 0 && n % 6 != 0)
    {
        out << n << '\n';
        for (int i = 1; i <= n / 2; ++i)
        {
            out << i << " " << 1 + (2 * i + n / 2 - 3) % n << '\n';
            out << n + 1 - i << " " << n - (2 * i + n / 2 - 3) % n << '\n';
        }
        return 0;
    }
    if (n % 2 == 1)
    {
        out << n << '\n';
        for (int i = 1; i < n; ++i)
            out << i << " " << 2 * i << '\n' << n / 2 + i << " " << 2 * i - 1 << '\n';
        out << n << " " << n;
        return 0;
    }
    return 0;
}