Pagini recente » Cod sursa (job #2305611) | Cod sursa (job #413444) | Cod sursa (job #847187) | Cod sursa (job #2838855) | Cod sursa (job #526889)
Cod sursa(job #526889)
#include<iostream.h>
#include<fstream.h>
#define N 201
int t,n,m,k,i,j,l,s[N][N],S[N][N];
long fact(int n)
{if(n==0)
return 1;
return (n*fact(n-1))%98999;}
int main()
{ifstream f1("stirling.in");
ofstream f2("stirling.out");
f1>>t;
for(l=1;l<=t;l++)
{f1>>k>>n>>m;
if(k==1)
{for(i=1;i<=n;i++)
{for(j=1;j<=m;j++)
if(i==j)
s[i][j]=1;
else
if(i<j)
s[i][j]=0;
else
if(j==1&&i>1)
if(i%2==0)
s[i][j]=(-1)*fact(i-1);
else
s[i][j]=fact(i-1);
else
s[i][j]=(s[i-1][j-1]-(i-1)*s[i-1][j])%98999;}
f2<<s[n][m]<<endl;}
else
{for(i=1;i<=n;i++)
{for(j=1;j<=m;j++)
if(i==j||(i>1&&j==1))
S[i][j]=1;
else
if(i<j)
S[i][j]=0;
else
S[i][j]=(S[i-1][j-1]+j*S[i-1][j])%98999;}
f2<<S[n][m]<<endl;}}
f1.close();
f2.close();
return 0;}