Cod sursa(job #462560)

Utilizator BitOneSAlexandru BitOne Data 11 iunie 2010 15:36:22
Problema Numerele lui Stirling Scor 20
Compilator cpp Status done
Runda Arhiva educationala Marime 0.81 kb
#include <cstdlib>
#include <fstream>
#define Modulo 98999
#define MAX_N 211

/*
 *
 */
using namespace std;
int s[MAX_N][MAX_N], S[MAX_N][MAX_N];
inline void ss( void )
{
    s[1][1]=1;
    for( int i=2; i < MAX_N; ++i )
        for( int j=1; j <= i; ++j )
            s[i][j]=( s[i-1][j-1]-(i-1)*s[i-1][j] )%Modulo;
}
inline void SS( void )
{
    S[1][1]=1;
    for( int i=2; i < MAX_N; ++i )
        for( int j=2; j < i; ++j )
            S[i][j]=( S[i-1][j-1]+j*S[i-1][j] )%Modulo;
}
int main( void )
{
    int T, op, x, y;
    ifstream in( "stirling.in" );
    ofstream out( "stirling.out" );
    ss(); SS();
    for( in>>T; T; --T )
    {
        in>>op>>x>>y;
        if( 1 == op )
            out<<s[x][y]<<'\n';
        else out<<S[x][y]<<'\n';
    }
    return EXIT_SUCCESS;
}