Cod sursa(job #2017332)

Utilizator Alex18maiAlex Enache Alex18mai Data 31 august 2017 21:32:17
Problema Numerele lui Stirling Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 1.07 kb
#include <bits/stdc++.h>

using namespace std;

const int MAX = 200;
const int MOD = 98999;

int s1[MAX + 5][MAX + 5];
int s2[MAX + 5][MAX + 5];

void initialize(){
    s1[1][1] = 1;
    s2[1][1] = 1;
    for (int i=2; i<=MAX; i++){
        for (int j=1; j<=i; j++){
            s1[i][j] = ( s1[i-1][j-1] - (i - 1) * s1[i-1][j] ) % MOD;
            s2[i][j] = ( s2[i-1][j-1] + j * s2[i-1][j] ) % MOD;
        }
    }
    /*for (int i=1; i<=MAX; i++){
        for (int j=1; j<=MAX; j++){
            cout<<s1[i][j]<<" ";
        }
        cout<<'\n';
    }
    cout<<'\n'<<'\n';
    for (int i=1; i<=MAX; i++){
        for (int j=1; j<=MAX; j++){
            cout<<s2[i][j]<<" ";
        }
        cout<<'\n';
    }
    cout<<'\n'<<'\n';*/
}

int main() {
    freopen ("stirling.in" , "r" , stdin);
    freopen ("stirling.out" , "w" , stdout);

    initialize();
    int n;
    cin>>n;
    while(n--){
        int tip , a , b;
        cin>>tip>>a>>b;
        if (tip == 1){
            cout<<s1[a][b]<<'\n';
        }
        else{
            cout<<s2[a][b]<<'\n';
        }
    }
    return 0;
}