Pagini recente » Cod sursa (job #1563693) | Cod sursa (job #340641) | Cod sursa (job #2245639) | Cod sursa (job #2348085) | Cod sursa (job #2497143)
#include <bits/stdc++.h>
using namespace std;
ifstream fin("stirling.in");
ofstream fout("stirling.out");
#define int long long
const int mod = 98999;
const int DIM = 200;
int dp1[DIM + 7][DIM + 7];
int dp2[DIM + 7][DIM + 7];
void precompute()
{
dp1[1][1] = 1;
for(int i = 2; i < DIM; i++)
for(int j = 1; j <= i; j++)
dp1[i][j] = (dp1[i - 1][j - 1] - 1LL * ((i - 1LL) * dp1[i - 1][j]) % mod) % mod;
dp2[1][1] = 1;
for(int i = 2; i <= DIM; i++)
for(int j = 1; j <= i; j++)
dp2[i][j] = (dp2[i - 1][j - 1] + (j * dp2[i - 1][j]) % mod) % mod;
}
void solve()
{
int x, n, m;
fin >> x >> n >> m;
if(x == 1)
{
fout << dp1[n][m] << '\n';
}
else
{
fout << dp2[n][m] << '\n';
}
}
main()
{
precompute();
int t;
fin >> t;
while(t--)
{
solve();
}
}