Cod sursa(job #2401484)

Utilizator mircearoataMircea Roata Palade mircearoata Data 9 aprilie 2019 19:10:09
Problema 12-Perm Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.53 kb
#include <iostream>
#include <fstream>

using namespace std;

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

int n;
int v[3];

int main()
{
    in >> n;
    if(n == 1)
        out << 1;
    else if(n == 2)
        out << 4;
    else if(n == 3)
        out << 6;
    v[0] = 12;
    v[1] = 6;
    v[2] = 2;
    for(int i = 5; i <= n; i++)
    {
        int tmp = v[0];
        v[0] = (v[0] + v[2] + 2*(i-2)) & ((1 << 20) - 1);
        v[2] = v[1];
        v[1] = tmp;
    }
    out << v[0];
    return 0;
}