Cod sursa(job #3221523)

Utilizator stefan_dore_Stefan Dore stefan_dore_ Data 7 aprilie 2024 12:33:22
Problema Numerele lui Stirling Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.76 kb
#include <iostream>
#include <fstream>
using namespace std;

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

const int NMAX = 200,
          MOD = 98999;
int S[NMAX+1][NMAX+1], s[NMAX+1][NMAX+1], T, x, m, n;

void stirling1() {
    s[1][1] = 1;
    for (int i=2; i<=NMAX; i++)
        for (int j=1; j<=i; j++)
            s[i][j] = (s[i-1][j-1] - (i-1)*s[i-1][j])%MOD;
}

void stirling2() {
    S[1][1] = 1;
    for (int i=2; i<=NMAX; i++)
        for (int j=1; j<=i; j++)
            S[i][j] = (S[i-1][j-1]+j*S[i-1][j])%MOD;
}


int main()
{
    f >> T;
    stirling1();
    stirling2();
    while (T--) {
        f >> x >> n >> m;
        if (x==1) g << s[n][m] << '\n';
        else g << S[n][m] << '\n';
    }
    return 0;
}