Cod sursa(job #1552476)

Utilizator TimitocArdelean Andrei Timotei Timitoc Data 18 decembrie 2015 08:39:15
Problema Numerele lui Stirling Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.71 kb
#include <iostream>
#include <cstdio>
#define MAXN 210
#define MOD 98999

using namespace std;

int sI[MAXN][MAXN], SII[MAXN][MAXN];

void init()
{
    sI[1][1] = 1;
    SII[1][1] = 1;
    for (int i = 2; i <= MAXN; i++)
        for (int j = 1; j <= MAXN; j++)
    {
        sI[i][j] = (1LL * sI[i-1][j-1] - 1LL*(i-1)*sI[i-1][j])%MOD;
        SII[i][j] = (1LL * SII[i-1][j-1] + 1LL*j*(SII[i-1][j]))%MOD;
    }

}

int main()
{
    freopen("stirling.in", "r", stdin);
    freopen("stirling.out", "w", stdout);

    init();
    int tip, n, k, T;
    scanf("%d", &T);
    for (int i = 1; i <= T; i++)
    {
        scanf("%d %d %d", &tip, &n, &k);
        printf("%d\n", tip==1 ? sI[n][k] : SII[n][k]);
    }
    return 0;
}