Cod sursa(job #2192581)

Utilizator topala.andreiTopala Andrei topala.andrei Data 6 aprilie 2018 16:36:32
Problema Numerele lui Stirling Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.74 kb
#include <iostream>
#include <fstream>
using namespace std;
ifstream f("stirling.in");
ofstream g("stirling.out");
const int maxn=202;
const int MOD=98999;
int S1[maxn][maxn],S2[maxn][maxn];
int T,X,N,M;
void Stirling1()
{
    S1[1][1]= 1;
    for(int i=2; i<maxn; i++)
        for(int j=1; j<=i; j++)
            S1[i][j]= (S1[i-1][j-1] - (i-1)*S1[i-1][j])%MOD ;
}
void Stirling2()
{
    S2[1][1]= 1;
    for(int i=2; i<maxn; i++)
        for(int j=1; j<=i; j++)
            S2[i][j]= (S2[i-1][j-1] + j*S2[i-1][j])%MOD;
}
int main()
{

    f>>T;
    Stirling1();
    Stirling2();
    while (T--)
    {
        f>>X>>N>>M;
        if (X==1) g<<S1[N][M]<<'\n';
        if (X==2) g<<S2[N][M]<<'\n';
    }
    return 0;
}