Pagini recente » Cod sursa (job #2116199) | Cod sursa (job #1090617) | Cod sursa (job #1090593) | Cod sursa (job #921034) | Cod sursa (job #1507034)
#include <cstdio>
#define MOD 98999
#define NMAX 207
using namespace std;
int t, x, n, m, s1[NMAX][NMAX], s2[NMAX][NMAX];
int ans1(int a, int b)
{
if(s1[a][b] == -1) s1[a][b] = (ans1(a-1, b-1) - (a-1)*ans1(a-1, b))%MOD;
return s1[a][b];
}
int ans2(int a, int b)
{
if(s2[a][b] == -1) s2[a][b] = (ans2(a-1, b-1) + b * ans2(a-1, b))%MOD;
return s2[a][b];
}
int main()
{
freopen("stirling.in", "r", stdin);
freopen("stirling.out", "w", stdout);
scanf("%d", &t);
for(int i = 1; i< NMAX; ++i)
for(int j = 1; j < NMAX; ++j)
{
s1[i][j] = -1;
s2[i][j] = -1;
}
s1[1][1] = 1;
s2[1][1] = 1;
for(; t; --t)
{
scanf("%d %d %d", &x, &n, &m);
if(x == 1) printf("%d\n", ans1(n, m));
if(x == 2) printf("%d\n", ans2(n, m));
}
return 0;
}