Pagini recente » Cod sursa (job #446135) | Cod sursa (job #1053538) | Cod sursa (job #2229472) | Cod sursa (job #2139616) | Cod sursa (job #2629833)
#include <cstdio>
using namespace std;
const int NMAX = 200;
const int MMAX = 200;
const long long MOD = 98999;
int s1[NMAX + 5][MMAX + 5] , s2[NMAX + 5][MMAX + 5];
int main()
{
freopen("stirling.in" , "r" , stdin);
freopen("stirling.out" , "w" , stdout);
int t , n , m , x , i , j;
s1[0][0] = s2[0][0] = 1;
for(i = 1 ; i <= NMAX ; i ++)
for(j = 1 ; j <= MMAX ; j ++)
{
s1[i][j] = (int)((1LL * s1[i - 1][j - 1] - (1LL * (i - 1) * s1[i - 1][j]) % MOD) % MOD);
s2[i][j] = (int)((1LL * s2[i - 1][j - 1] + (1LL * j * s2[i - 1][j]) % MOD) % MOD);
}
scanf("%d" , &t);
for(i = 1 ; i <= t ; i ++)
{
scanf("%d%d%d" , &x , &n , &m);
if(x == 1)
printf("%d\n" , s1[n][m]);
else
printf("%d\n" , s2[n][m]);
}
return 0;
}