Cod sursa(job #3279341)

Utilizator vladm98Munteanu Vlad vladm98 Data 22 februarie 2025 16:21:08
Problema Numerele lui Stirling Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.82 kb
#include <bits/stdc++.h>

using namespace std;
ifstream fin("stirling.in");
ofstream fout("stirling.out");
const int mod=98999;
int mat1[205][205],mat2[205][205];
void Stirling1()
{
    int i,j;
    mat1[0][0]=1;
    for(i=1;i<=201;++i)
    {
        for(j=0;j<=i;++j)
        {
            mat1[i][j]=(mat1[i-1][j]-(i-1)*mat1[i-1][j - 1])%mod;
        }
    }
}
void Stirling2()
{
    int i,j;
    mat2[1][1]=1;
    for(i=2;i<=201;++i)
    {
        for(j=1;j<=i;++j)
        {
            mat2[i][j]=(mat2[i-1][j-1]+j*mat2[i-1][j])%mod;
        }
    }
}
int main()
{
    int n,i,j,caz,m,test;
    Stirling1();
    Stirling2();
    fin>>test;
    for(i=1;i<=test;++i)
    {
        fin>>caz>>n>>m;
        if(caz==1)
            fout<<mat1[n][n - m];
        else
            fout<<mat2[n][m];
        fout<<'\n';

    }
    return 0;
}