Cod sursa(job #731762)

Utilizator visanrVisan Radu visanr Data 9 aprilie 2012 09:09:20
Problema Numerele lui Stirling Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 1.05 kb
#include <cstdio>
#include <cstdlib>
#include <cmath>
using namespace std;


#define modulo 98999
#define NMAX 201


long s[NMAX][NMAX],S[NMAX][NMAX],speta,n,m,t;


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

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


int main()
{
    freopen("stirling.in","r",stdin);
    freopen("stirling.out","w",stdout);
    speta1();
    speta2();
    scanf("%i", &t);
    while(t)
    {
            scanf("%i %i %i", &speta,&n,&m);
            if(speta==1) printf("%i\n", s[n][m]);
            else printf("%i\n", S[n][m]);
            t--;
    }
    return 0;
}