Cod sursa(job #2555470)

Utilizator Briana_NeaguNeagu Briana Briana_Neagu Data 24 februarie 2020 08:44:36
Problema Numerele lui Stirling Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.76 kb
#include <bits/stdc++.h>

using namespace std;

ifstream f("stirling.in");
ofstream g("stirling.out");

const int nmax = 205;
const int mod = 98999;

int s1[nmax][nmax];

void spetaI()
{
    s1[1][1] = 1;
    for (int i = 2; i < nmax; ++ i)
        for (int j = 1; j <= i; ++ j)
            s1[i][j] = (s1[i - 1][j - 1] - s1[i - 1][j] * (i - 1)) % mod;
}

int s2[nmax][nmax];

void spetaII()
{
  s2[1][1] = 1;
  for (int i = 2; i < nmax; ++ i)
      for (int j = 1; j <= i; ++ j)
          s2[i][j] = (s2[i - 1][j - 1] + s2[i - 1][j] * j) % mod;
}

int main()
{
  int t;
  f >> t;
  spetaI();
  spetaII();
  while (t --)
  {
    int speta, n, m;
    f >> speta;
    f >> n >> m;
    if (speta == 1)
        g << s1[n][m] << '\n';
    else
        g << s2[n][m] << '\n';
  }
}