Cod sursa(job #2500238)

Utilizator maramihaliMara Mihali maramihali Data 27 noiembrie 2019 15:50:46
Problema Numerele lui Stirling Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.86 kb
#include <bits/stdc++.h>

using namespace std;

const int MOD = 98999;
const int dim = 201;

int dp1[dim][dim],dp2[dim][dim],n,m,t,speta;

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

void s1()
{
    dp1[1][1] = 1;
    for(int i = 2; i < dim; i++)
    {
        for(int j = 1; j <= i; j++)
        {
            dp1[i][j] = (dp1[i - 1][j - 1] - (i - 1) * dp1[i - 1][j]) % MOD;
        }
    }
}

void s2()
{
    dp2[1][1] = 1;
    for(int i = 2; i < dim; i++)
    {
        for(int j = 1; j <= i; j++)
        {
            dp2[i][j] = (dp2[i - 1][j - 1] + j * dp2[i - 1][j]) % MOD;
        }
    }
}

int main()
{
    in >> t;
    s1();
    s2();
    for(int i = 1; i <= t; i++)
    {
        in >> speta >> n >> m;
        if(speta == 1)
            out << dp1[n][m] << "\n";
        if(speta == 2)
            out << dp2[n][m] << "\n";
    }
    return 0;
}