Cod sursa(job #2170878)

Utilizator nurof3nCioc Alex-Andrei nurof3n Data 15 martie 2018 10:11:49
Problema Numerele lui Stirling Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 0.66 kb
#include <iostream>
#include <fstream>

using namespace std;

ifstream f("100m.in");
ofstream g("100m.out");

const int MOD = 666013;
int N;
int A, F[5001], S[5001];
void fact(int n)
{
    F[1] = 1;
    for(int i = 2; i <= n; i++)
        F[i] = 1LL * F[i - 1] * i % MOD;
}
void stirling(int n)
{
    S[1] = 0;
    for(int i = 2; i <= n; i++)
    {
        S[1] = S[i] = 1;
        for(int j = i - 1; j >= 2; j--)
            S[j] = (j * S[j] + S[j - 1]) % MOD;
    }
    for(int k = 1; k <= n; k++)
        A = (A + 1LL * F[k] * S[k] % MOD) % MOD;
}
int main()
{
    f >> N;
    fact(N);
    stirling(N);
    g << A;
    return 0;
}