Cod sursa(job #2314326)

Utilizator nurof3nCioc Alex-Andrei nurof3n Data 8 ianuarie 2019 12:39:00
Problema Numerele lui Stirling Scor 50
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.86 kb
#include <fstream>

using namespace std;

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

const int MOD = 98999;
const int N_MAX = 200;

int T;

int s(int n, int m) {
    if(m == 0 && n == 0)
        return 1;
    if(m == 0 && n > 0)
        return 0;
    if(m > n)
        return 0;
    if(m == n)
        return 1;
    return (s(n - 1, m - 1) - (n - 1) * s(n - 1, m)) % MOD;
}

int S(int n, int m) {
    if(m == 0 && n > 0)
        return 0;
    if(m > 0 && n == 0)
        return 0;
    if(m == 1 || m == n)
        return 1;
    return (S(n - 1, m - 1) + m * S(n - 1, m)) % MOD;
}

int main() {

    in >> T;
    int speta, n, m;
    while(T--) {
        in >> speta >> n >> m;
        if(speta == 1)
            out << s(n, m) << '\n';
        if(speta == 2)
            out << S(n, m) << '\n';
    }

    return 0;
}