Cod sursa(job #2695852)

Utilizator George_CristianGeorge Dan-Cristian George_Cristian Data 14 ianuarie 2021 18:31:30
Problema Numerele lui Stirling Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.85 kb
#include <cstdio>

#define MOD 98999

int t, x, n, m;

void speta_1() {
    int vec[205] = {};
    vec[0] = 1;
    for (int i = 1; i <= n; ++i) {
        vec[i] = 1;
        for (int j = i - 1; j > 0; --j)
            vec[j] = (vec[j - 1] - (i - 1) * vec[j]) % MOD;
        vec[0] = 0;
    }
    printf("%d\n", vec[m]);
}

void speta_2() {
    int vec[205] = {};
    vec[0] = 1;
    for (int i = 1; i <= n; ++i) {
        vec[i] = 1;
        for (int j = i - 1; j > 0; --j)
            vec[j] = (vec[j - 1] + vec[j] * j) % MOD;
        vec[0] = 0;
    }
    printf("%d\n", vec[m]);
}

int main() {
    freopen("stirling.in", "r", stdin);
    freopen("stirling.out", "w", stdout);
    scanf("%d", &t);
    for (int i = 0; i < t; ++i) {
        scanf("%d%d%d", &x, &n, &m);
        if (x == 1)
            speta_1();
        else
            speta_2();
    }
    return 0;
}