Pagini recente » Cod sursa (job #1493836) | Cod sursa (job #2415785) | Cod sursa (job #1743866) | Cod sursa (job #984111) | Cod sursa (job #2056272)
#include <iostream>
#include <fstream>
using namespace std;
const int NMax = 202;
const int mod = 98999;
int sp1[NMax][NMax];
int sp2[NMax][NMax];
void Speta1()
{
for(int i=0; i<=NMax; ++i)
sp1[i][i] = 1;
for(int i=1; i<=NMax; ++i)
for(int j=1; j<=NMax; ++j)
{
sp1[i][j] = (sp1[i-1][j-1] - (i-1) * sp1[i-1][j])%mod;
}
}
void Speta2()
{
for(int i=0; i<=NMax; ++i)
sp2[i][i] = 1, sp2[i][1]=1;
for(int i=3; i<=NMax; ++i)
{
for(int j=2; j<=NMax; ++j)
{
sp2[i][j] = (sp2[i-1][j] * j + sp2[i-1][j-1])%mod;
}
}
}
int main()
{
ifstream fin("stirling.in");
ofstream fout("stirling.out");
int teste, x, n,m;
fin >> teste;
Speta1();
Speta2();
while(teste)
{
fin >> x >> n >> m;
if(x==1)
{
fout << sp1[n][m];
}
else
{
fout << sp2[n][m];
}
fout << "\n";
--teste;
}
return 0;
}