Pagini recente » Cod sursa (job #329280) | Cod sursa (job #1393753) | Cod sursa (job #1435435) | Cod sursa (job #883256) | Cod sursa (job #2980733)
#include <iostream>
#include <fstream>
#include <vector>
#include <queue>
#include <utility>
#include <algorithm>
std::ifstream fin("stirling.in");
std::ofstream fout("stirling.out");
const int MOD = 98999;
int q;
int dp[2][205][205];
void preprocess() {
dp[0][0][0] = dp[1][0][0] = 1;
for (int n = 1; n <= 200; n++) {
dp[1][n][1] = dp[1][n][n] = 1;
for (int k = 2; k <= n-1; k++) {
dp[0][n][k] = dp[0][n-1][k-1]-1LL*(n-1)*dp[0][n-1][k]%MOD;
dp[0][n][k] %= MOD;
dp[1][n][k] = 1LL*k*dp[1][n-1][k]%MOD+dp[1][n-1][k-1];
dp[1][n][k] %= MOD;
std::cerr << dp[1][n][k] << " ";
}
std::cerr << "\n";
}
}
int main() {
preprocess();
fin >> q;
for (int op, n, k; q--;) {
fin >> op >> n >> k;
fout << dp[op-1][n][k] << "\n";
}
}