Cod sursa(job #568696)

Utilizator bogfodorBogdan Fodor bogfodor Data 31 martie 2011 16:45:14
Problema Numerele lui Stirling Scor 20
Compilator cpp Status done
Runda Arhiva educationala Marime 0.82 kb
#include <cstdio>
#define Lmax 205
#define Mod 98999
#define Vmax 203
using namespace std;

FILE *fin=freopen("stirling.in","r",stdin);
FILE *fout=freopen("stirling.out","w",stdout);

int S[Lmax][Lmax],s[Lmax][Lmax];

int t;

void speta1()
{
    s[1][1]=1;
    for(int i=2;i<Vmax;i++)
        for(int j=1;j<=i;j++)
            s[i][j]=(s[i-1][j-1] -(i-1)*s[i-1][j])%Mod;
}

void speta2()
{
    S[1][1]=1;
    for(int i=2;i<Vmax;i++)
        for(int j=1;j<=i;j++)
            S[i][j]=(S[i-1][j-1]+i*(S[i-1][j]))%Mod;
}

int main()
{
    speta1();
    speta2();
    scanf("%d",&t);
    while(t--)
    {
        int speta,n,m;
        scanf("%d %d %d",&speta, &n,&m);
        if(speta==1)
            printf("%d\n",s[n][m]);
        else
            printf("%d\n",S[n][m]);
    }
    return 0;
}