Cod sursa(job #739393)

Utilizator repp4raduRadu-Andrei Szasz repp4radu Data 22 aprilie 2012 21:57:43
Problema 12-Perm Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.82 kb
#include <fstream>

using namespace std;

const int REST = 1048576;
int n, contor;

void citire()
{
    ifstream in("perm12.in");
    in>>n;
    in.close();
}

void solve()
{
    int r2 = 2, r3 = 6, r4 = 12, aux;
    switch(n)
    {
        case 1: contor = 1; break;
        case 2: contor = 2; break;
        case 3: contor = 6; break;
        case 4: contor = 12; break;
        default:
            for(int i = 5; i <= n; i++)
            {
                aux = r4;
                r4 = ((r4 + r2 + (i - 2) * 2) & (REST - 1));
                r2 = r3; r3 = aux;
            }
            contor = r4;
            break;
    }
}

void afisare()
{
    ofstream out("perm12.out");
    out<<contor;
    out.close();
}

int main()
{
    citire();
    solve();
    afisare();
    return 0;
}