Pagini recente » Cod sursa (job #3158060) | Cod sursa (job #3184830)
#include <fstream>
using namespace std;
ifstream fin("stirling.in");
ofstream fout("stirling.out");
int nmax = 200, modulo = 98999, s1[201][201], s2[201][201];
void calc_s1()
{
s1[1][1] = 1;
for(int i = 2; i <= nmax; i++)
for(int j = 1; j <= i; j++)
s1[i][j] = (s1[i - 1][j - 1] - (i - 1) * s1[i - 1][j]) % modulo;
}
void calc_s2()
{
s2[1][1] = 1;
for(int i = 2; i <= nmax; i++)
for(int j = 1; j <= i; j++)
s2[i][j] = (s2[i - 1][j - 1] + j * s2[i - 1][j]) % modulo;
}
int main()
{
int t, n, m, v;
calc_s1();
calc_s2();
fin >> t;
while(t--)
{
fin >> v >> n >> m;
switch(v)
{
case 1:
fout << s1[n][m] << '\n';
break;
case 2:
fout << s2[n][m] << '\n';
break;
}
}
fin.close();
fout.close();
return 0;
}