Cod sursa(job #979069)

Utilizator andrettiAndretti Naiden andretti Data 31 iulie 2013 14:26:44
Problema Numerele lui Stirling Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.75 kb
#include<stdio.h>
#define maxn 205
#define mod 98999
using namespace std;

int t,n,m;
int s1[maxn][maxn],s2[maxn][maxn];

void preproc()
{
    int i,j;
    s1[0][0]=s2[0][0]=1;
    for(i=1;i<=200;i++)
     for(j=1;j<=200;j++)
      s1[i][j]=(s1[i-1][j-1]-(j-1)*s1[i][j-1])%mod,
      s2[i][j]=(s2[i-1][j-1]%mod+(i*s2[i][j-1])%mod)%mod;
}

void solve()
{
    int type,n,m;
    scanf("%d",&t);
    for(int i=1;i<=t;i++)
    {
        scanf("%d%d%d",&type,&n,&m);
        if(type==1) printf("%d\n",s1[m][n]);
        else printf("%d\n",s2[m][n]);
    }
}

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

    preproc();
    solve();

    fclose(stdin);
    fclose(stdout);
    return 0;
}