Cod sursa(job #2142221)

Utilizator RazorBestPricop Razvan Marius RazorBest Data 24 februarie 2018 21:04:00
Problema Numerele lui Stirling Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.79 kb
#include <fstream>
#define MOD 98999
using namespace std;

ifstream fin("stirling.in");
ofstream fout("stirling.out");

int dp[2][201][201]; //dps[n][m] = s(n, m); dpS[n][m] = S(n, m)

void dinamica_s()
{
    dp[0][0][0] = 1;
    for (int i = 1; i <= 200; i++)
        for (int j = 1; j <= 200; j++)
            dp[0][i][j] = (dp[0][i - 1][j - 1] - ((i - 1) * dp[0][i - 1][j]) % MOD) % MOD;
}

void dinamica_S()
{
    dp[1][0][0] = 1;
    for (int i = 1; i <= 200; i++)
        for (int j = 1; j <= 200; j++)
            dp[1][i][j] = (dp[1][i - 1][j - 1] + j * dp[1][i - 1][j]) % MOD;
}

int main()
{

    dinamica_s();
    dinamica_S();

    int T, x, n, m;

    fin >> T;
    while (T--)
    {
        fin >> x >> n >> m;
        fout << dp[x - 1][n][m] << '\n';
    }
}