Pagini recente » Cod sursa (job #2066299) | Cod sursa (job #1647861) | Cod sursa (job #1421879) | Cod sursa (job #2848381) | Cod sursa (job #2336190)
#include <fstream>
using namespace std;
ifstream fin("stirling.in");
ofstream fout("stirling.out");
const int NMAX=200;
const int MOD=98999;
//numrele stirling de speta 1
//formula de recurenta
//s(n+1, k)=s(n, k-1)-n*s(n, k);
//s(n, 0)=0, s(n, 1)=1, s(n, n)=1;
int s1[NMAX+5][NMAX+5];
//numerele Stirling de speta 2
//formula de recurenta
//S(n+1, m)=S(n, m-1)+m*S(n, m);
//S(n, 1)=1, S(n, n)=1, S(n, 0)=0
int s2[NMAX+5][NMAX+5];
int main()
{
int n=200, i, j, x, a, b;
//Precalculam numerele lui Stiriling de speta 1 si 2
for(i=1;i<=n;i++)
s1[i][1]=s2[i][1]=1;
s1[n][n]=1;
s2[n][n]=1;
for(i=1;i<=n;i++)
{
for(j=1;j<=n;j++)
{
s1[i+1][j]=(s1[i][j-1]-(i*s1[i][j]%MOD))%MOD;
s2[i+1][j]=(s2[i][j-1]+(j*s2[i][j]%MOD))%MOD;
}
}
fin>>n;
for(i=1;i<=n;i++)
{
fin>>x>>a>>b;
if(x==1)
fout<<s1[a][b]<<"\n";
else
fout<<s2[a][b]<<"\n";
}
return 0;
}