Pagini recente » Cod sursa (job #2982685) | Cod sursa (job #1025849) | Cod sursa (job #2635964) | Cod sursa (job #1937293) | Cod sursa (job #2696544)
#define MOD 98999
#define NMAX 200
#include <cstdio>
using namespace std;
int T, x, n, m;
int Speta1[NMAX+5][NMAX+5]; /// cicli
int Speta2[NMAX+5][NMAX+5]; /// submultimi
void precalc_t1()
{
Speta1[0][0] = 1;
Speta1[1][1] = 1;
for(int i=2; i<=NMAX; i++)
{
for(int j=1; j<i; j++)
Speta1[i][j] = (Speta1[i-1][j-1] - ((i-1) * Speta1[i-1][j])%MOD)%MOD;
Speta1[i][i] = 1;
}
}
void precalc_t2()
{
Speta2[0][0] = 1;
Speta2[1][1] = 1;
for(int i=2; i<=NMAX; i++)
{
Speta2[i][1] = 1;
Speta2[i][i] = 1;
for(int j=2; j<i; j++)
Speta2[i][j] = (Speta2[i-1][j-1] + (j * Speta2[i-1][j])%MOD)%MOD;
}
}
int main()
{
freopen("stirling.in", "r", stdin);
freopen("stirling.out", "w", stdout);
scanf("%d", &T);
precalc_t1();
precalc_t2();
for(int i=1; i<=T; i++)
{
scanf("%d %d %d", &x, &n, &m);
if(x == 1)
printf("%d\n", Speta1[n][m]);
else printf("%d\n", Speta2[n][m]);
}
return 0;
}