Pagini recente » Cod sursa (job #1516673) | Cod sursa (job #3219321) | Cod sursa (job #1948001) | Cod sursa (job #2862505) | Cod sursa (job #3194027)
#include <fstream>
#include <vector>
#define ll long long
using namespace std;
ifstream cin("stirling.in");
ofstream cout("stirling.out");
const int NMAX = 200;
const int MOD = 98999;
int S[NMAX + 1][NMAX + 1];
int s[NMAX + 1][NMAX + 1];
int main()
{
ios::sync_with_stdio(0);
cin.tie(0);
cout.tie(0);
/// S(n, k) = S(n - 1, k - 1) + k * S(n - 1, k)
S[0][0] = 1;
for(int i = 1; i <= NMAX; i++)
for(int j = 1; j <= NMAX; j++)
S[i][j] = ((ll) S[i - 1][j - 1] + (ll) j * S[i - 1][j]) % MOD;
/// s(n, k) = s(n - 1, k - 1) - (n - 1) * s(n - 1, k)
s[0][0] = 1;
for(int i = 1; i <= NMAX; i++)
for(int j = 1; j <= NMAX; j++)
s[i][j] = ((ll) s[i - 1][j - 1] - (ll)(i - 1) * s[i - 1][j] + MOD) % MOD;
int T;
cin >> T;
while(T--)
{
int type, n, k;
cin >> type >> n >> k;
if(type == 1)
cout << s[n][k] << '\n';
else
cout << S[n][k] << '\n';
}
return 0;
}