Cod sursa(job #2601765)

Utilizator pregoliStana Andrei pregoli Data 15 aprilie 2020 10:09:17
Problema Numerele lui Stirling Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.89 kb
#include <bits/stdc++.h>
#define newline '\n'
using namespace std;
ifstream fin("stirling.in");
ofstream fout("stirling.out");
///***********************
const int mod = 98999;
const int nmax = 205;
int t;
int sp1[nmax][nmax], sp2[nmax][nmax];

inline void speta1()
{
    sp1[1][1] = 1;
    for (int i = 2; i < nmax; i++)
        for (int j = 1; j <= i; j++)
            sp1[i][j] = (sp1[i-1][j-1] - (i-1) * sp1[i-1][j])%mod;
}

inline void speta2()
{
    sp2[1][1] = 1;
    for (int i = 2; i < nmax; i++)
        for (int j = 1; j <= i; j++)
            sp2[i][j] = (sp2[i-1][j-1] + j *sp2[i-1][j])%mod;
}

int main()
{
    speta1();
    speta2();
    fin >> t;
    while (t--)
    {
        int x, n, k;
        fin >> x >> n >> k;
        if (x==1)
            fout << sp1[n][k] << "\n";
        else
            fout << sp2[n][k] << "\n";
    }
    return 0;
}