Pagini recente » Cod sursa (job #673906) | Cod sursa (job #434944) | Cod sursa (job #1497666) | Profil tudorbuhnia | Cod sursa (job #1843145)
#include <fstream>
#include <iostream>
#define MOD 98999
using namespace std;
ifstream in ("stirling.in");
ofstream out ("stirling.out");
const int NMax=201;
long v1[NMax][NMax],v2[NMax][NMax];
long n,m;
int T,x;
long F(long argn,long argm)
{
if (argn<argm||argm<0)
return 0;
if (argn==argm)
{
v1[argn][argm]=1;
return 1;
}
if (!v1[argn][argm])
v1 [argn][argm]=(F(argn-1,argm-1)-(argn-1)*F(argn-1,argm)%MOD)%MOD;
return v1[argn][argm];
}
long F2 (long argn,long argm)
{
if (argn<argm||argm<0)
{
return 0;
}
if (argn==argm)
{
v2[argn][argm]=1;
return 1;
}
if (!v2[argn][argm])
{
v2[argn][argm]=(F2(argn-1,argm-1)+argm*F2(argn-1,argm)%MOD)%MOD;
}
return v2[argn][argm];
}
int main()
{
in>>T;
for (int i=1;i<=T;i++)
{
in>>x>>n>>m;
if (x==1)
out<<F(n,m)<<'\n';
else
out<<F2(n,m)<<'\n';
}
return 0;
}