Cod sursa(job #1000818)

Utilizator chiriacandrei25Chiriac Andrei chiriacandrei25 Data 23 septembrie 2013 19:46:41
Problema Dame Scor 85
Compilator cpp Status done
Runda Arhiva de probleme Marime 1.6 kb
#include <fstream>

using namespace std;

int v1[1005],v2[1005];

int main()
{
    int i,n,len1=0,len2=0,aux;
    ifstream fin("dame.in");
    fin>>n;
    fin.close();
    ofstream fout("dame.out");
    if(n==2 || n==3)
        fout<<n-1<<"\n";
    else
        fout<<n<<"\n";
    if(n==1 || n==2)
        fout<<"1 1\n";
    else
        if(n==3)
            fout<<"1 1\n3 2\n";
        else
        {
            for(i=2;i<=n;i+=2)
                v1[++len1]=i;
            if(n%12==3 || n%12==9)
            {
                for(i=2;i<=len1;i++)
                    v1[i-1]=v1[i];
                v1[len1]=2;
            }
            for(i=1;i<=n;i+=2)
                v2[++len2]=i;
            if(n%12==8)
            {
                aux=v2[1];
                v2[1]=v2[2];
                v2[2]=aux;
                aux=v2[3];
                v2[3]=v2[4];
                v2[4]=aux;
            }
            if(n%12==2)
            {
                aux=v2[1];
                v2[1]=v2[2];
                v2[2]=aux;
                for(i=4;i<=len2;i++)
                    v2[i-1]=v2[i];
                v2[len2]=5;
            }
            if(n%12==3 || n%12==9)
            {
                for(i=2;i<=len2;i++)
                    v2[i-1]=v2[i];
                v2[len2]=1;
                for(i=2;i<=len2;i++)
                    v2[i-1]=v2[i];
                v2[len2]=3;
            }
        }
        for(i=1;i<=len1;i++)
            fout<<i<<" "<<v1[i]<<"\n";
        for(i=1;i<=len2;i++)
            fout<<i+len1<<" "<<v2[i]<<"\n";
    return 0;
}