Cod sursa(job #2000731)

Utilizator Neamtu_StefanStefan Neamtu Neamtu_Stefan Data 14 iulie 2017 16:04:09
Problema Numerele lui Stirling Scor 20
Compilator cpp Status done
Runda Arhiva educationala Marime 0.83 kb
#include <fstream>
#define MOD 98999

using namespace std;

ifstream fin("stirling.in");
ofstream fout("stirling.out");

int T,n,m,p,nr,s[201][201],S[201][201];

int a[201],b[201];

void __precalculare_s()
{

    s[1][1]=1;
    for (int i=2;i<=200;i++)
        for (int j=1;j<=i;j++)
            s[i][j]=(s[i-1][j-1]-(i-1)*s[i-1][j])%MOD;
}

void __precalculare_S()
{
    a[1]=b[1]=1;
    for (int i=2;i<=n;i++)
    {
        for (int j=1;j<=i;j++)
            b[j]=(a[j-1] + (j+1)*a[j])%MOD;

        for (int j=0;j<=i;j++)
            a[j]=b[j];
    }
}

int main()
{
    fin >> T;

    __precalculare_s();
    __precalculare_S();

    while(T--)
    {
        fin >> p >> n >> m;
        if (p==1)
            fout << s[n][m] << "\n";
        else fout << b[n] << "\n";
    }

    return 0;
}