Cod sursa(job #1229751)

Utilizator japjappedulapPotra Vlad japjappedulap Data 18 septembrie 2014 00:43:55
Problema 12-Perm Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.53 kb
#include <fstream>
#include <cstdlib>
using namespace std;
#define MOD (1<<20)

ifstream is ("12perm.in");
ofstream os ("12perm.out");

int N, A, B, C, D;

int main()
{
    is >> N;
    D = 1;C = 2;B = 6;A = 12;
    if (N == 1) os << 1;
    if (N == 2) os << 2;
    if (N == 3) os << 6;
    if (N == 4) os << 12;
    if (N <= 4) exit(1);
    for (int i = 5; i <= N; ++i)
    {
        D = C;C = B;B = A;
        A = B + D + 2*(i-2);
        A = A & (MOD-1);
    }
    os << A;
    is.close();
    os.close();
}