Cod sursa(job #2892285)

Utilizator LucaMihaiLM10Luca Ilie LucaMihaiLM10 Data 21 aprilie 2022 16:22:16
Problema Numerele lui Stirling Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.77 kb
#include <bits/stdc++.h>

using namespace std;

#define MAX_N 200
#define MAX_M 200
#define MOD 98999

int dp[2][MAX_N + 1][MAX_M + 1];

int main() {
    ifstream cin( "stirling.in" );
    ofstream cout( "stirling.out" );
    int t, x, n, m;

    dp[0][0][0] = 1;
    for ( n = 1; n <= MAX_N; n++ ) {
        for ( m = 1; m <= MAX_M; m++ )
            dp[0][n][m] = (dp[0][n - 1][m - 1] - dp[0][n - 1][m] * (n - 1) % MOD) % MOD;
    }

    dp[1][0][0] = 1;
    for ( n = 1; n <= MAX_N; n++ ) {
        for ( m = 1; m <= MAX_M; m++ )
            dp[1][n][m] = (dp[1][n - 1][m - 1] + dp[1][n - 1][m] * m % MOD) % MOD;
    }

    cin >> t;
    while ( t-- ) {
        cin >> x >> n >> m;
        cout << dp[x - 1][n][m] << "\n";
    }

    return 0;
}