Pagini recente » oni2013_ziua2 | Istoria paginii runda/rar39/clasament | Istoria paginii runda/rar38/clasament | Clasament ffcxzczxczx | Cod sursa (job #2985335)
#include <iostream>
#include <fstream>
#define NMAX 205
#define MOD 98999
using namespace std;
ifstream fin("stirling.in");
ofstream fout("stirling.out");
int s[NMAX][NMAX], S[NMAX][NMAX];
int speta1(int n, int k) {
if (n == 0) {
if (k == 0) {
return 1;
}
return 0;
}
if (k == 0) {
return 0;
}
return (s[n - 1][k - 1] - (n - 1) * s[n - 1][k]) % MOD;
}
int speta2(int n, int k) {
if (n == 0) {
if (k == 0) {
return 1;
}
return 0;
}
if (k == 0) {
return 0;
}
return (S[n - 1][k - 1] + n * S[n - 1][k]) % MOD;
}
void precalc() {
for (int i = 0; i < NMAX; ++i) {
for (int j = 0; j < NMAX; ++j) {
s[i][j] = speta1(i, j);
S[i][j] = speta2(i, j);
}
}
}
int main()
{
int T;
int p, x, y;
precalc();
fin >> T;
for (int i = 0; i < T; ++i) {
fin >> p >> x >> y;
if (p == 1) {
fout << s[x][y] << "\n";
}
else {
fout << S[x][y] << "\n";
}
}
return 0;
}