Cod sursa(job #954960)

Utilizator primulDarie Sergiu primul Data 30 mai 2013 15:49:40
Problema Dame Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 1.22 kb
#include <fstream>
#define dim 1001
 
using namespace std;
 
ifstream fin ("dame.in"); ofstream fout ("dame.out");
 
int main()
{
    int a, n, i, k = 0, l, st[dim], aux;
    fin >> n;
 
    if(n == 1 || n == 2)
        fout << 1 <<"\n1 1";
    else if(n == 3)
        fout << 2 <<"\n1 1" <<"\n2 3";
 
    else
    {
    for(i = 2; i <= n; i += 2)
        st[++k] = i;
 
    if(n % 12 == 3 || n % 12 == 9)
    {
        for(l = 1; l < k; l++)
            st[l] = st[l + 1];
        st[k] = 2;
    }
 
    a = k + 1;
 
    for(i = 1; i <= n; i += 2)
        st[++k] = i;
 
    if(n % 12 == 3 || n % 12 == 9)
    {
        for(i = a; i < k - 1; i++)
            st[i] = st[i + 2];
        st[k - 1] = 1;
        st[k] = 3;
    }
 
    else if(n % 12 == 2)
    {
        st[a] = 3;
        st[a + 1] = 1;
        for(i = a + 2; i < k; i++)
            st[i] = st[i + 1];
        st[k] = 5;
    }
    else if(n % 12 == 8)
        for(i = a; i <= k; i += 2)
        {
            aux = st[i];
            st[i] = st[i + 1];
            st[i + 1] = aux;
        }
    fout << n << endl;
    for(i = 1; i <= n; i++)
    {
        fout << i << " " << st[i] << endl;
    }
    }
    return 0;
}