Cod sursa(job #1193805)

Utilizator tudormaximTudor Maxim tudormaxim Data 1 iunie 2014 22:08:49
Problema Dame Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 1.04 kb
#include <fstream>
#include <algorithm>
 using namespace std;
ifstream f("dame.in");
ofstream g("dame.out");
int n,i,c[1010],z,k=0;
int main()
{
    f>>n;
    if(n == 2)
    {g<<"1\n1 1\n"; k=1;}
    if(n == 3)
    {g<<"2\n1 1\n2 3\n"; k=1;}
     z=n%6;
    for(i=2; i<=n; i+=2) c[i/2]=i;

    for(i=1; i<=n; i+=2) c[n/2+i/2+1]=i;
    if(k==0)
    {
         if(z == 3 || z == 9)
         {
            for(i=1; i<=n/2; ++i)
                c[i]=c[i+1];
            c[n/2]=2;
            for(i=n/2+1; i<n-1; ++i)
                c[i]=c[i+2];
            c[n-1]=1;
            c[n]=3;
         }
        else if(z == 2)
        {
            c[n/2+1]=3;
            c[n/2+2]=1;
            for(i=n/2+3; i<n; i++)
                c[i]=c[i+1];
            c[n]=5;
        }
        else if(z == 8)
        {
            for(i=1; i<=n; i++)
                swap(c[i],c[i+1]);
        }
        g<<n<<'\n';
    for(i=1; i<=n; i++)
        g<<i<<" "<<c[i]<<"\n";

    }
    f.close();
    g.close();
    return 0;
    }