Cod sursa(job #604708)

Utilizator a_h1926Heidelbacher Andrei a_h1926 Data 24 iulie 2011 17:15:21
Problema Numerele lui Stirling Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.97 kb
#include <iostream>

#define NM 205
#define NMax 210
#define MOD 98999

using namespace std;

long long Stirling[3][NMax][NMax];

void BuildStirling ()
{
    Stirling[1][1][1]=1;
    for (int i=2; i<=NM; ++i)
    {
        for (int j=1; j<=i; ++j)
        {
            Stirling[1][i][j]=Stirling[1][i-1][j-1]-(i-1)*Stirling[1][i-1][j];
            Stirling[1][i][j]%=MOD;
        }
    }
    Stirling[2][1][1]=1;
    for (int i=2; i<=NM; ++i)
    {
        for (int j=1; j<=i; ++j)
        {
            Stirling[2][i][j]=Stirling[2][i-1][j-1]+j*Stirling[2][i-1][j];
            Stirling[2][i][j]%=MOD;
        }
    }
}

int main()
{
    BuildStirling ();
    freopen ("stirling.in", "r", stdin);
    freopen ("stirling.out", "w", stdout);
    int Q;
    scanf ("%d", &Q);
    for (; Q>0; --Q)
    {
        int Speta, N, M;
        scanf ("%d %d %d", &Speta, &N, &M);
        printf ("%lld\n", Stirling[Speta][N][M]);
    }
    return 0;
}