Cod sursa(job #2574650)

Utilizator bogdanvladmihaiBogdan Vlad-Mihai bogdanvladmihai Data 6 martie 2020 01:41:09
Problema Numerele lui Stirling Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.77 kb
#include <bits/stdc++.h>

using namespace std;

ifstream fin("stirling.in");
ofstream fout("stirling.out");

const int MAX_N = 2e2 + 5;
const int MOD = 98999;

int t, n, k;

int s1[MAX_N][MAX_N], s2[MAX_N][MAX_N];

int main() {
  int op;
  fin >> t;
  s2[1][1] = 1;
  for (int i = 2; i < MAX_N; ++i) {
    for (int j = 1; j <= i; ++j) {
      s2[i][j] = (1LL * s2[i - 1][j - 1] + s2[i - 1][j] * j) % MOD;
    }
  }
  s1[1][1] = 1;
  for (int i = 2; i < MAX_N; ++i) {
    for (int j = 1; j <= i; ++j) {
      s1[i][j] = (1LL * s1[i - 1][j - 1] - s1[i - 1][j] * (i - 1) % MOD) % MOD;
    }
  }
  while (t --) {
    fin >> op >> n >> k;
    if (op == 1) {
      fout << s1[n][k] << "\n";
    } else {
      fout << s2[n][k] << "\n";
    }
  }
  return 0;
}