Pagini recente » Cod sursa (job #2699072) | Cod sursa (job #14597) | Cod sursa (job #607708) | Cod sursa (job #2665543) | Cod sursa (job #3226542)
#include <fstream>
using namespace std;
ifstream cin("stirling.in");
ofstream cout("stirling.out");
//s(n, k) = s(n-1, k-1) - (n-1) * s(n-1, k)
//S(n, k) = S(n-1, k-1) + k * S(n-1, k)
#define nmax 200
#define kmax 200
int dp[nmax+1][kmax+1], dp2[nmax+1][kmax+1];
int mod=98999;
int t, q, n, m;
int main()
{
cin>>t;
dp[0][0]=1;
for(int i=1; i<=200; i++)
{
for(int j=1; j<=i; j++)
{
dp[i][j]=(dp[i-1][j-1]-(i-1)*dp[i-1][j])%mod;
}
}
dp2[0][0]=1;
for(int i=1; i<=200; i++)
{
for(int j=1; j<=i; j++)
{
dp2[i][j] = (dp2[i-1][j-1]%mod+(j*dp2[i-1][j])%mod)%mod;
}
}
for(int i=1; i<=t; i++)
{
cin>>q>>n>>m;
if(q==1)
cout<<dp[n][m]<<'\n';
else
cout<<dp2[n][m]<<'\n';
}
}