Pagini recente » Cod sursa (job #333512) | Monitorul de evaluare | Cod sursa (job #3298865) | Cod sursa (job #2689411) | Cod sursa (job #3300268)
#include <iostream>
#include <fstream>
using namespace std;
ifstream f("stirling.in");
ofstream g("stirling.out");
const int NMAX=201,MOD=98999;
int n,m,T,s[NMAX][NMAX],S[NMAX][NMAX],x;
void calc1()
{
s[0][0]=1;
for(int i=1; i<NMAX; i++)
{
for(int j=1; j<=i; j++)
s[i][j]=(s[i-1][j-1]-(i-1)*s[i-1][j])%MOD;
}
}
void calc2()
{
S[0][0]=1;
for(int i=1; i<NMAX; i++)
{
for(int j=1; j<=i; j++)
S[i][j]=(S[i-1][j-1]+j*S[i-1][j])%MOD;
}
}
int main()
{
calc1();
calc2();
f>>T;
while(T--)
{
f>>x>>n>>m;
if(x==1)
g<<s[n][m]<<'\n';
else
g<<S[n][m]<<'\n';
}
f.close();
g.close();
return 0;
}