Cod sursa(job #2442767)

Utilizator Leonard123Mirt Leonard Leonard123 Data 25 iulie 2019 11:33:11
Problema Numerele lui Stirling Scor 40
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.88 kb
#include<fstream>
using namespace std;
#define modulo 98999
#define maxn 200
int t,n,m,rez,o,raspuns1[maxn+5][maxn+5],raspuns2[maxn+5][maxn+5];

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

void speta1(){
    for(int i=1; i<=maxn; i++)
        raspuns1[i][i]=1;
    for(int i=2; i<=maxn; i++)
        for(int j=1; j<i; j++)
            raspuns1[i][j]=(raspuns1[i-1][j-1]-(i-1)*raspuns1[i-1][j])%modulo;
}

void speta2(){
    for(int i=1; i<=maxn; i++)
        raspuns2[i][i]=1;
    for(int i=2; i<=maxn; i++)
        for(int j=1; j<i; j++)
            raspuns2[i][j]=raspuns2[i-1][j-1]+j*raspuns2[i-1][j]%modulo;
}

int main(){
    cin>>t;
    speta1();
    speta2();
    while(t){
        cin>>o>>n>>m;
        if(o==1)
            cout<<raspuns1[n][m]<<'\n';
        else
            cout<<raspuns2[n][m]<<'\n';
        t--;
    }
    return 0;
}