Cod sursa(job #2622715)

Utilizator Moise_AndreiMoise Andrei Moise_Andrei Data 1 iunie 2020 18:19:49
Problema Dame Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 1.19 kb
#include <bits/stdc++.h>
using namespace std;
ifstream in("dame.in");
ofstream out("dame.out");
int main()
{
    int n;
    in >> n;
    if(n < 3)
    {
        out << "1\n1 1";
        return 0;
    }
    else if(n == 3)
    {
        out << "2\n1 1\n2 3";
        return 0;
    }
    out << n << '\n';
    if(n % 6 != 2 && n % 6 != 3)
    {
        for(int i = 2; i <= n; i += 2)
            out << i << " " << i / 2 << '\n';
        for(int i = 1; i <= n; i += 2)
            out << i << " " << n / 2 + (i + 1) / 2 << '\n';
        return 0;
    }
    if(n % 6 == 2)
    {
        for(int i = 2; i <= n; i += 2)
            out << i << " " << i / 2 << '\n';
        out << "1 " << n / 2 + 2 << '\n';
        out << "3 " << n / 2 + 1 << '\n';
        out << "5 " << n << '\n';
        for(int i = 7; i <= n; i += 2)
            out << i << " " << n / 2 + i / 2 << '\n';
        return 0;
    }
    out << "2 " << n / 2 << '\n';
    for(int i = 4; i <= n; i += 2)
        out << i << " " << i / 2 - 1 << '\n';
    out << "1 " << n - 1 << '\n' << "3 " << n << '\n';
    for(int i = 5; i <= n; i += 2)
        out << i << " " << n / 2 + i / 2 - 1 << '\n';
    return 0;
}