Pagini recente » Cod sursa (job #1953697) | Cod sursa (job #791525) | Cod sursa (job #306199) | Cod sursa (job #2875349) | Cod sursa (job #2980739)
#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 = 1; k <= n; k++) {
dp[0][n][k] = 1LL*(n-1)*dp[0][n-1][k]%MOD+dp[0][n-1][k-1];
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[0][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]*((op==1)?(((n-k)&1)?-1:1):1) << "\n";
}
}