Cod sursa(job #3210749)

Utilizator eugenioMarinescu Eugenio eugenio Data 7 martie 2024 12:04:26
Problema Numerele lui Stirling Scor 20
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.74 kb
#include <fstream>
#include <vector>
#define mod 98999
using namespace std;
ifstream cin("stirling.in");
ofstream cout("stirling.out");

int n, m, q, speta;

int s(int n, int m)
{
    if(n==0 || m==0)
        return 0;
    if(n<m)
        return 0;
    if(n==1 && m==1)
        return 1;
    return (s(n-1,m-1)-(n-1)*s(n-1,m))%mod;
}

int S(int n, int m)
{
    if(n==0 || m==0)
        return 0;
    if(n<m)
        return 0;
    if(n==1 && m==1)
        return 1;
    return (S(n-1,m-1)-m*S(n-1,m))%mod;
}

int main()
{
    cin>>q;
    while(q--)
    {

        cin>>speta>>n>>m;
        if(speta==1)
            cout<<s(n,m)%mod<<'\n';
        if(speta==2)
            cout<<S(n,m)%mod<<'\n';
    }
    return 0;
}