Cod sursa(job #1392337)

Utilizator sergiunascaSergiu Nasca sergiunasca Data 18 martie 2015 16:38:11
Problema Numerele lui Stirling Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 0.84 kb
#include <stdio.h>
#define MOD 98999
#define NMax 205
using namespace std;
long long S[NMax][NMax],s[NMax][NMax];
int t,n,m,p;
void Prepare_S()
{
    S[1][1]=1;
    for(int i=2; i<=NMax; ++i)
    {
        for(int j=1; j<=i; ++j)
        {
            S[i][j] = (S[i-1][j-1] + j*S[i-1][j]) % MOD;
        }
    }
}
void Prepare_s()
{
    s[1][1]=1;
    for(int i=2; i<=NMax; i++)
    {
        for(int j=1; j<=i; j++)
        {
            s[i][j] = (s[i-1][j-1] - (i-1)*s[i-1][j]) % MOD;
        }
    }
}
int main()
{
    freopen("stirling.in","r",stdin);
    freopen("stirling.out","w",stdout);
    Prepare_s();
    Prepare_S();
    scanf("%d",&t);
    for(int i=1; i<=t; ++i)
    {
        scanf("%d %d %d",&p,&n,&m);
        if(p==1)printf("%d\n",s[n][m]);
        else printf("%d\n",S[n][m]);
    }
    return 0;
}