Cod sursa(job #3364114)

Utilizator Alias47John Doe Alias47 Data 30 august 2026 07:17:43
Problema Numerele lui Stirling Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 1.08 kb
#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
typedef size_t ull;
typedef vector<int> vc;
typedef vector<vector<int>> matrix;
#define ft(n) for(int i=1; i<=n; i++)
#define sp ' '
#define vx first
#define vy second
string file = "stirling";
ifstream f(file + ".in");
ofstream g(file + ".out");

const int NMAX = 200, MOD=98999;
int n, k, x, y;
matrix s1(NMAX+5, vc(NMAX+5, 0)), s2(NMAX + 5, vc(NMAX + 5, 0));


void stirling(int n)
{
    s1[0][0] = 1;
    for (int i = 1; i <= n; i++)
        for (int j = 1; j <= n; j++)
        {
            s1[i][j] = ((-i + 1) * s1[i - 1][j] + s1[i - 1][j - 1])%MOD;
        }
    s2[0][0] = 1;
    for (int i = 1; i <= n; i++)
        for (int j = 1; j <= n; j++)
        {
            s2[i][j] = (j * s2[i - 1][j] + s2[i - 1][j - 1])%MOD;
        }
}

int main()
{
    f >> n;
    stirling(NMAX);
    for (int i = 1; i <= n; i++)
    {
        f >> k >> x >> y;
        if (k == 1)
            g << s1[x][y] << "\n";
        else if (k == 2)
            g << s2[x][y] << "\n";
    }
    return 0;
}