Mai intai trebuie sa te autentifici.
Cod sursa(job #2437995)
| Utilizator | Data | 10 iulie 2019 21:17:59 | |
|---|---|---|---|
| Problema | Numerele lui Stirling | Scor | 100 |
| Compilator | cpp-64 | Status | done |
| Runda | Arhiva educationala | Marime | 0.72 kb |
#include <stdio.h>
const int NMAX = 201, MOD = 98999;
int s[NMAX][NMAX], S[NMAX][NMAX];
inline void precalc() {
s[0][0] = S[0][0] = 1;
for (int i = 1 ; i < NMAX ; ++i) {
for (int j = 1 ; j <= i ; ++j) {
s[i][j] = (s[i - 1][j - 1] - (i - 1) * s[i - 1][j]) % MOD;
S[i][j] = (S[i - 1][j - 1] + j * S[i - 1][j]) % MOD;
}
}
}
int main() {
freopen("stirling.in", "r", stdin);
freopen("stirling.out", "w", stdout);
int T, x, n, m;
precalc();
scanf("%d", &T);
for (; T ; --T) {
scanf("%d%d%d", &x, &n, &m);
if (x == 1) {
printf("%d\n", s[n][m]);
} else {
printf("%d\n", S[n][m]);
}
}
return 0;
}
