Cod sursa(job #1938182)

Utilizator mjmilan11Mujdar Milan mjmilan11 Data 24 martie 2017 17:58:19
Problema Dame Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.83 kb
#include <iostream>
#include <fstream>
using namespace std;
ifstream fin("dame.in");
ofstream fout("dame.out");

int n,s[1<<10],l,p,i;

int main()
{
    fin >>n;
    if(n==2) return fout << "1\n1 1",0;
    if(n==3) return fout << "2\n1 1\n3 2",0;
    fout << n << "\n";
    for(i=2;i<=n;i+=2) s[++p]=i;
    if(n%6==3)
    {
        for(i=1;i<p;++i) s[i]=s[i+1];
        s[p]=2;
    }
    for(i=1;i<=p;++i) fout <<i<<' '<<s[i]<<'\n';
    p=0;
    for(i=1;i<=n;i+=2) s[++p]=i;
    if(n%12==8) for(i=2;i<=p;i+=2) swap(s[i],s[i-1]);
    if(n%12==2)
    {
        swap(s[1],s[2]);
        for(i=3;i<p;++i) s[i]=s[i+1];
        s[p]=5;
    }
    if(n%6==3)
    {
        for(i=1,l=p-1;i<l;++i) s[i]=s[i+2];
        s[p-1]=1;s[p]=3;
    }
    for(i=1,l=n/2;i<=p;++i) fout << (l+i) << ' ' << s[i] << '\n';
    return 0;
}