Cod sursa(job #957972)

Utilizator Dddarius95Darius-Florentin Neatu Dddarius95 Data 6 iunie 2013 17:57:59
Problema Dame Scor 65
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.76 kb
#include <fstream>
#include <algorithm>
using namespace std;

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

#define Nmax 1010
#define X 12

int n,v[Nmax],k;

int main()
{
    f>>n;
    if(n % X==3 && n % X==9)
    {
        k=0;
        for(int i=4;i<=n;i+=2)v[++k]=i;
        v[++k]=2;
    }
    else
    {
        k=0;
        for(int i=2;i<=n;i+=2)v[++k]=i;
    }
    for(int i=1;i<=n;i+=2)v[++k]=i;
    if(n % X==8) for(int i=n/2+1;i<=n;i+=2) swap(v[i],v[i+1]);
    else if(n % X==2)swap(v[n/2+1],v[n/2+2]);
    else if(n % X==3 || n % X==9)
    {
        for(int i=n/2+1;i<=n-2;i++)v[i]=v[i+2];
        v[n-1]=1;v[n]=3;
    }
    g<<n<<'\n';
    for(int i=1;i<=n;i++)g<<i<<" "<<v[i]<<'\n';
    f.close();g.close();
    return 0;
}