Pagini recente » Cod sursa (job #547043) | Cod sursa (job #780943) | Cod sursa (job #1801327) | Cod sursa (job #1254909) | Cod sursa (job #2500233)
#include <iostream>
#include <fstream>
using namespace std;
ifstream in("stirling.in");
ofstream out("stirling.out");
const int MOD = 98999;
int teste,tip,n,m,dp[201][201],dp_2[201][201];
int main()
{
in >> teste;
for (int i=1; i<=200; i++)
{
dp[i][i] = 1;
dp[i][1] = 1;
dp_2[i][0] = dp[0][i] = 0;
dp_2[0][0] = 1;
dp_2[i][i] = 1;
}
for (int i=3; i<=200; i++)
{
for (int j=2; j<i; j++)
{
dp[i][j] = (dp[i-1][j-1] + (j*dp[i-1][j])%MOD)%MOD;
}
}
for (int i=2; i<=200; i++)
{
for (int j=1; j<i; j++)
{
dp_2[i][j] = (dp_2[i-1][j-1] - ((i-1)*dp_2[i-1][j])%MOD)%MOD;
}
}
while (teste--)
{
in >> tip >> n >> m;
if (tip == 2)
{
out << dp[n][m] << "\n";
}
else
{
out << dp_2[n][m] << "\n";
}
}
return 0;
}