Pagini recente » Cod sursa (job #3350161) | Cod sursa (job #2003496) | Cod sursa (job #2662276) | Cod sursa (job #292552) | Cod sursa (job #3355981)
#include <fstream>
using namespace std;
const long long MOD = 98999;
const int N = 201; // n, m up to 200
long long s[N][N]; // Stirling first kind (signed)
long long S[N][N]; // Stirling second kind
int main() {
s[0][0] = 1;
S[0][0] = 1;
for (int n = 1; n < N; n++) {
for (int m = 1; m <= n; m++) { // m > n stays 0 (default)
s[n][m] = (s[n-1][m-1] - (long long)(n-1) * s[n-1][m]) % MOD;
S[n][m] = (S[n-1][m-1] + (long long)m * S[n-1][m]) % MOD;
}
}
ifstream fin("stirling.in");
ofstream fout("stirling.out");
int T;
fin >> T;
while (T--) {
int x, n, m;
fin >> x >> n >> m;
fout << (x == 1 ? s[n][m] : S[n][m]) << '\n';
}
return 0;
}