Pagini recente » Cod sursa (job #2427496) | Cod sursa (job #467457) | Cod sursa (job #1622513) | Cod sursa (job #2139227) | Cod sursa (job #931365)
Cod sursa(job #931365)
#include <fstream>
#define In "stirling.in"
#define Out "stirling.out"
#define mod 98999
#define DIM_MAX 200
using namespace std;
long long s[DIM_MAX+1][DIM_MAX+1],S[DIM_MAX+1][DIM_MAX+1];
void Calcul_Stirling_speta1()
{
int i,j;
s[1][1] = 1;
for(i=2;i<=DIM_MAX;i++)
for(j=1;j<=DIM_MAX && j<=i;j++)
s[i][j] = (s[i-1][j-1]-(i-1)*s[i-1][j])%mod;
}
void Calcul_Stirling_speta2()
{
int i,j;
S[1][1] = 1;
for(i=2;i<=DIM_MAX;i++)
for(j=1;j<=DIM_MAX && j<=i;j++)
S[i][j] = (S[i-1][j-1]+j*S[i-1][j])%mod;
}
int main()
{
int T,n,m,op;
Calcul_Stirling_speta1();
Calcul_Stirling_speta2();
ifstream fin(In);
fin>>T;
ofstream fout(Out);
while(T--)
{
fin>>op>>n>>m;
if(op==1)
fout<<s[n][m]<<"\n";
else
fout<<S[n][m]<<"\n";
}
fin.close();
fout.close();
return 0;
}