Cod sursa(job #2980725)

Utilizator moldovan_robert_lolMoldovan Robert moldovan_robert_lol Data 16 februarie 2023 19:20:18
Problema Numerele lui Stirling Scor 20
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.65 kb
#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++) {
		for (int k = 1; k <= n; 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][k-1]%MOD+dp[1][n-1][k-1];
			dp[1][n][k] %= MOD;
		}
	}
}

int main() {
	preprocess();
	fin >> q;
	for (int op, n, k; q--;) {
		fin >> op >> n >> k;
		fout << dp[op-1][n][k] << "\n";
	}
}