Pagini recente » Cod sursa (job #1243003) | Cod sursa (job #2402631) | Cod sursa (job #2223650) | Cod sursa (job #328731) | Cod sursa (job #2578080)
#include <iostream>
#include <fstream>
using namespace std;
ifstream fin("stirling.in");
ofstream fout("stirling.out");
const int NMax = 200, MMax = 200, mod = 98999;
int t, task, n, m;
int s[NMax + 5][MMax + 5], S[NMax + 5][MMax + 5];
void Solve1(){
s[0][0] = 1;
for (int i = 1; i <= NMax; i++)
for (int j = 1; j <= MMax; j++)
s[i][j] = (s[i - 1][j - 1] - (i - 1) * s[i - 1][j]) % mod;
}
void Solve2(){
S[0][0] = 1;
for (int i = 1; i <= NMax; i++)
for (int j = 1; j <= MMax; j++)
S[i][j] = (S[i - 1][j - 1] + j * S[i - 1][j]) % mod;
}
int main(){
Solve1();
Solve2();
fin >> t;
while (t--){
fin >> task >> n >> m;
if (task == 1)
fout << s[n][m] << '\n';
else
fout << S[n][m] << '\n';
}
return 0;
}