Pagini recente » Cod sursa (job #3038897) | Cod sursa (job #1206643) | Cod sursa (job #1560302) | Cod sursa (job #2831649) | Cod sursa (job #2286576)
#include <fstream>
#define mod 98999
using namespace std;
ifstream f("stirling.in");
ofstream g("stirling.out");
int s1[205][205],s2[205][205];
short int semn(int a, int b)
{
if ((a-b)%2)
return -1;
else
return 1;
}
int s(int n, int k)
{
if (k>n || k==0 || n==0)
return 0;
else
if (n==k)
return 1;
else
if (s1[n][k]!=0)
return s1[n][k];
else
{
s1[n][k]=((n-1)*s(n-1,k)+s(n-1,k-1))%mod;
return s1[n][k];
}
}
int S(int n, int k)
{
if (k>n || k==0 || n==0)
return 0;
else
if (n==k)
return 1;
else
if (s2[n][k]!=0)
return s2[n][k];
else
{
s2[n][k]=(k*S(n-1,k)+S(n-1,k-1))%mod;
return s2[n][k];
}
}
int main()
{
int n,p,a,b;
f>>n;
for (int i=0;i<n;i++)
{
f>>p>>a>>b;
if (p==1)
g<<semn(a,b)*s(a,b)<<'\n';
else
g<<S(a,b)<<'\n';
}
return 0;
}