Pagini recente » Cod sursa (job #3181353) | Cod sursa (job #2149649) | Cod sursa (job #1727744) | Cod sursa (job #140976) | Cod sursa (job #2897592)
#include <bits/stdc++.h>
using namespace std;
const int MAXN = 200;
const int MAXT = 1000;
const int MOD = 98999;
int t, speta, n, m;
int s1[MAXN + 2][MAXN + 2], s2[MAXN + 2][MAXN + 2];
void calcS1() {
s1[1][1] = 1;
for (int i = 2; i < MAXN; ++ i) {
for (int j = 1; j <= i; ++ j) {
s1[i][j] = (s1[i - 1][j - 1] - (i - 1) * s1[i - 1][j]) % MOD;
}
}
}
void calcS2(){
s2[1][1] = 1;
for (int i = 2; i < MAXN; ++ i) {
for (int j = 1; j <= i; ++ j) {
s2[i][j] = (s2[i - 1][j - 1] + j * s2[i - 1][j]) % MOD;
}
}
}
int main() {
freopen("stirling.in", "r", stdin);
freopen("stirling.out", "w", stdout);
calcS1();
calcS2();
cin >> t;
while (t --) {
cin >> speta >> n >> m;
if (speta == 1)
cout << s1[n][m] << '\n';
else
cout << s2[n][m] << '\n';
}
return 0;
}