Pagini recente » Cod sursa (job #2764663) | Cod sursa (job #1898004) | Cod sursa (job #2133684) | Cod sursa (job #2025307) | Cod sursa (job #1824485)
#include <fstream>
#include <iostream>
using namespace std;
ifstream f("stirling.in");
ofstream g("stirling.out");
long stirling[201][201],Stirling[201][201];
long s(long n, long m)
{
if(n < m) return 0;
if(m < 0) return 0;
if(n==m) {Stirling[n][m] = 1; return 1;}
if(!stirling[n][m]) stirling[n][m] = (s(n-1,m-1) - (n-1) * s(n-1,m) %98999) % 98999;
return stirling[n][m];
}
long S(long n, long m)
{
if(n < m) return 0;
if(m < 0) return 0;
if(n==m) {Stirling[n][m] = 1; return 1;}
if(!Stirling[n][m]) Stirling[n][m] = (S(n-1,m-1) + m* S(n-1,m) % 98999) % 98999;
return Stirling[n][m];
}
int main()
{
long n,m;
int i,T,x;
f >> T;
for(i=1;i<=T;i++){ f >> x >> n >> m;
if(x==1) {g << s(n,m) << endl;}
else g << S(n,m) << endl;
}
return 0;
}