Cod sursa(job #323559)

Utilizator freak93Adrian Budau freak93 Data 12 iunie 2009 16:50:25
Problema Dame Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 1.23 kb
#include<fstream>
#define maxn 1005

using namespace std;

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

int n,a[maxn],i,j,r;

int main()
{
    f>>n;
    r=n%12;
    if(n==2) a[++j]=1;
    else if(n==3) a[++j]=1,a[++j]=3;
    else
    if(r==3||r==9)
    {
        for(i=4;i<=n;i+=2)
            a[++j]=i;
        a[++j]=2;
        for(i=5;i<=n;i+=2)
            a[++j]=i;
        a[++j]=1;
        a[++j]=3;
    }
    else
        if(r==2)
        {
            for(i=2;i<=n;i+=2)
                a[++j]=i;
            a[++j]=3;
            a[++j]=1;
            for(i=7;i<=n;i+=2)
                a[++j]=i;
            a[++j]=5;
        }
        else
            if(r==8)
            {
                for(i=2;i<=n;i+=2)
                    a[++j]=i;

                for(i=1;i<=n;i+=4)
                    a[++j]=i+2,a[++j]=i;
            }
            else
            {
                for(i=2;i<=n;i+=2)
                    a[++j]=i;

                for(i=1;i<=n;i+=2)
                    a[++j]=i;
            }
    if(n==2||n==3)
        g<<n-1<<"\n";
    else
        g<<n<<"\n";

    for(i=1;i<=j;++i)
        g<<i<<" "<<a[i]<<"\n";

    f.close();
    g.close();

    return 0;
}