Cod sursa(job #2120672)

Utilizator Andreea_1009Cimpean Andreea Andreea_1009 Data 2 februarie 2018 19:12:54
Problema Dame Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 1.18 kb
#include <iostream>
#include <fstream>

using namespace std;

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

int n,x;

int main()
{
    f>>n;
    if(n==2)
    {
        g<<1<<'\n';
        g<<1<<' '<<1;
        return 0;
    }
    if(n==3)
    {
        g<<2<<'\n';
        g<<1<<' '<<1<<'\n';
        g<<2<<' '<<3;
        return 0;
    }
    g<<n<<'\n';
    if(n%6!=2&&n%6!=3)
    {
        for(int i=2;i<=n;i+=2)
            g<<i<<' '<<i/2<<'\n';
        for(int i=1;i<=n;i+=2)
            g<<i<<' '<<n/2+(i+1)/2<<'\n';
    }
    else
    {
        if(n%6==2)
        {
            for(int i=2;i<=n;i+=2)
                g<<i<<' '<<i/2<<'\n';
            g<<1<<' '<<n/2+2<<'\n';
            g<<3<<' '<<n/2+1<<'\n';
            g<<5<<' '<<n<<'\n';
            for(int i=7;i<=n;i+=2)
                g<<i<<' '<<n/2+i/2<<'\n';
        }
        else
        {
            g<<2<<' '<<n/2<<'\n';
            for(int i=4;i<=n;i+=2)
                g<<i<<' '<<i/2-1<<'\n';
            g<<1<<' '<<n-1<<'\n';
            g<<3<<' '<<n<<'\n';
            for(int i=5;i<=n;i+=2)
                g<<i<<' '<<n/2+i/2-1<<'\n';
        }
    }
    return 0;
}