Cod sursa(job #2673906)

Utilizator Robert.BrindeaBrindea Robert Robert.Brindea Data 18 noiembrie 2020 09:44:58
Problema Numerele lui Stirling Scor 0
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.76 kb
#include <iostream>
#include <fstream>

using namespace std;

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

const int MAXN = 202, MOD = 98999;

int t, x, n, m, s[MAXN][MAXN], S[MAXN][MAXN];

void s1()
{
    s[1][1] = 1;
    for(int i = 2; i <= MAXN; i++)
        for(int j = 1; j <= MAXN; j++)
            s[i][j] += (s[i-1][j-1] - 1LL*(i-1)*s[i-1][j]%MOD)%MOD;
}

void s2()
{
    S[1][1] = 1;
    for(int i = 2; i <= MAXN; i++)
        for(int j = 1; j <= MAXN; j++)
            S[i][j] += (j*S[i-1][j]%MOD + S[i-1][j-1])%MOD;
}

int main()
{
    s1();
    s2();
    fin >> t;
    for(int i = 0; i < t; i++)
    {
        fin >> x >> n >> m;
        fout << (x == 1 ? s[n][m] : S[n][m]) << "\n";
    }
    return 0;
}