Cod sursa(job #2373651)

Utilizator ana.pintiliciucAna Maria Pintiliciuc ana.pintiliciuc Data 7 martie 2019 14:42:48
Problema Numerele lui Stirling Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.96 kb
#include <cstdio>
#define MOD 98999

using namespace std;

int t;
int x, n, m;
int s1[205][205], s2[205][205];

void speta1()
{
    s1[0][0]=1;
    s1[1][1]=1;
    for(int n=1; n<=200; n++)
    {
        for(int k=n; k>0; k--)
            s1[n][k]=(s1[n-1][k-1]-(n-1)*s1[n-1][k])%MOD;
    }
}
void speta2()
{
    s2[0][0]=1;
    s2[1][1]=1;
    for(int n=1; n<=200; n++)
    {
        for(int k=n; k>0; k--)
            s2[n][k]=(s2[n-1][k-1]+k*s2[n-1][k])%MOD;
    }
}

int main()
{
    freopen("stirling.in", "r", stdin);
    freopen("stirling.out", "w", stdout);
    scanf("%d", &t);
    s2[1][1]=1;
    s2[0][0]=1;
    s1[1][1]=1;
    s1[0][0]=1;
    speta2();
    speta1();
    for(int i=1;i<=t;i++)
    {
        scanf("%d %d %d\n", &x, &n, &m);
        if(x==1)
        {
            printf("%d\n", s1[n][m]);
        }
        else if(x==2)
        {
            printf("%d\n", s2[n][m]);
        }
    }

    return 0;
}