Pagini recente » Cod sursa (job #3144204) | Cod sursa (job #107687) | Borderou de evaluare (job #2247285) | Cod sursa (job #997266) | Cod sursa (job #3237862)
#include <bits/stdc++.h>
using namespace std;
using ll = long long;
ifstream fin( "stirling.in" );
ofstream fout( "stirling.out" );
const int DIM = 201;
const int MOD = 98999;
int S[DIM][DIM], s[DIM][DIM];
void Stirling() {
S[0][0] = s[0][0] = 1;
for ( int i = 1; i < DIM; ++i ) {
for ( int j = 1; j <= i; ++j ) {
S[i][j] = (S[i - 1][j - 1] + j * S[i - 1][j]) % MOD;
s[i][j] = (s[i - 1][j - 1] + (i - 1) * s[i - 1][j]) % MOD;
}
}
}
int main() {
ios_base::sync_with_stdio(0);
fin.tie(0);
int t, q, n, m;
fin >> t;
Stirling();
while ( t-- ) {
fin >> q >> n >> m;
if ( q == 1 ) {
fout << s[n][m] * ((n - m) & 1 ? -1 : 1) << "\n";
} else {
fout << S[n][m] << "\n";
}
}
fin.close();
fout.close();
return 0;
}