Cod sursa(job #2188040)

Utilizator DawlauAndrei Blahovici Dawlau Data 26 martie 2018 21:48:57
Problema 12-Perm Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.66 kb
#include<fstream>
#include<cmath>
using namespace std;

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

const int MOD = 1048576;

int main(){

    int n;
    fin >> n;

    if(n == 1)
        fout << 1;
    else if(n == 2)
        fout << 2;
    else if(n == 3)
        fout << 6;
    else if(n == 4)
        fout << 12;
    else{

        int DP[6];
        DP[1] = 1; DP[2] = 2; DP[3] = 6; DP[4] = 12; DP[5] = 0;
        int i;
        for(i = 5; i <= n; ++i){
            DP[5] = (DP[4] + DP[2] + 2*(i - 2)) % MOD;
            DP[1] = DP[2]; DP[2] = DP[3]; DP[3] = DP[4]; DP[4] = DP[5];
        }
        fout << DP[5];
    }
}