Pagini recente » Borderou de evaluare (job #1411054) | Borderou de evaluare (job #1387216) | Borderou de evaluare (job #2875897) | Borderou de evaluare (job #1774595) | Cod sursa (job #1970389)
#include <bits/stdc++.h>
using namespace std;
FILE *fin = fopen("stirling.in", "r"), *fout = fopen("stirling.out", "w");
#define mod 98999
const int maxi = 200;
int t, speta, n, m;
int d[3][maxi + 1][maxi + 1];
inline void precI() {
d[1][1][1] = 1;
for(int i = 2;i <= maxi;i++)
for(int j = 1;j <= maxi;j++)
d[1][i][j] = (d[1][i - 1][j - 1] - (i - 1) * d[1][i - 1][j]) % mod;
}
inline void precII() {
d[2][1][1] = 1;
for(int i = 2;i <= maxi;i++)
for(int j = 1;j <= maxi;j++)
d[2][i][j] = (d[2][i - 1][j - 1] + (j) * d[2][i - 1][j]) % mod;
}
int main() {
precI(), precII();
fscanf(fin, "%d", &t);
for(int i = 1;i <= t;i++) {
fscanf(fin, "%d%d%d", &speta, &n, &m);
fprintf(fout, "%d\n", d[speta][n][m]);
}
fclose(fin);
fclose(fout);
return 0;
}