Cod sursa(job #1000776)

Utilizator chiriacandrei25Chiriac Andrei chiriacandrei25 Data 23 septembrie 2013 18:55:02
Problema Dame Scor 80
Compilator cpp Status done
Runda Arhiva de probleme Marime 1.37 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
    {
        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;
}