Cod sursa(job #1646045)

Utilizator Vlad_lsc2008Lungu Vlad Vlad_lsc2008 Data 10 martie 2016 14:51:54
Problema Numerele lui Stirling Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.84 kb
#include<cstdio>
#define nmax 201
#define mod 98999
using namespace std;

int t,speta,n,m;
int s1[nmax][nmax],s2[nmax][nmax];

inline void precalculI()
{
    int i,j;
    s1[1][1]=1;
    for(i=2;i<nmax;i++)
        for(j=1;j<=i;j++)
            s1[i][j]=( s1[i-1][j-1]-(i-1)*s1[i-1][j] )%mod;
}

inline void precalculII()
{
    int i,j;
    s2[1][1]=1;
    for(i=2;i<nmax;i++)
        for(j=1;j<=i;j++)
            s2[i][j]=(s2[i-1][j-1]+j*s2[i-1][j])%mod;
}

int main()
{
    freopen("stirling.in","r",stdin);
    freopen("stirling.out","w",stdout);
    precalculI();
    precalculII();
    scanf("%d",&t);
    for(;t;t--)
    {
        scanf("%d%d%d",&speta,&n,&m);
        if(speta==1) printf("%d\n",s1[n][m]);
        if(speta==2) printf("%d\n",s2[n][m]);
    }
    fclose(stdin);
    fclose(stdout);
    return 0;
}