Cod sursa(job #1781556)

Utilizator iulianrotaruRotaru Gheorghe-Iulian iulianrotaru Data 16 octombrie 2016 23:07:36
Problema Dame Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.77 kb
#include <fstream>
using namespace std;
ifstream f("dame.in");
ofstream g("dame.out");
int n,i,p,l,s[1<<10];
int main()
{
    f>>n;
    if(n==2) return g<<"1\n1 1",0;
    if(n==3) return g<<"2\n1 1\n3 2",0;
    g<<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) g<<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) g<<(l+i)<<' '<<s[i]<<'\n';
    return 0;
}