Cod sursa(job #3333450)

Utilizator rares89_Dumitriu Rares rares89_ Data 13 ianuarie 2026 16:51:13
Problema Numerele lui Stirling Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.9 kb
#include <fstream>

using namespace std;

ifstream cin("stirling.in");
ofstream cout("stirling.out");

const int MOD = 98999;
const int NMAX = 205;

long long s1[NMAX][NMAX];
long long s2[NMAX][NMAX];

void precalc() {
    s1[0][0] = 1;
    s2[0][0] = 1;

    for (int i = 1; i <= 200; ++i) {
        for (int j = 1; j <= i; ++j) {
            s1[i][j] = (s1[i - 1][j - 1] - (i - 1) * s1[i - 1][j]) % MOD;
            s2[i][j] = (s2[i - 1][j - 1] + j * s2[i - 1][j]) % MOD;
        }
    }
}

int main() {
    precalc();

    int t;
    cin >> t;

    for(; t; --t) {
        int x, n, m;
        cin >> x >> n >> m;

        if(m > n) {
            cout << "0\n";
        } else {
            if (x == 1) {
                cout << s1[n][m] << "\n";
            } else {
                cout << s2[n][m] << "\n";
            }
        }
    }
    cin.close();
    return 0;
}