Cod sursa(job #2950162)

Utilizator mihaicrisanMihai Crisan mihaicrisan Data 3 decembrie 2022 09:32:54
Problema Numerele lui Stirling Scor 50
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 MOD = 98999;
const int NMAX = 200;

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

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

int main() {
    calc();
    fin >> t;
    while (t--) {
        fin >> x >> n >> m;
        if (x == 1) {
            fout << s[n][m] << '\n';
        }
        else {
            fout << S[n][m] << '\n';
        }
    }
    return 0;
}