Cod sursa(job #2286585)

Utilizator BatedCrayonBratosin David - Robert BatedCrayon Data 20 noiembrie 2018 15:16:00
Problema Numerele lui Stirling Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.86 kb
#include <fstream>
#define MODULO 98999
#define NMAX 201

using namespace std;

ifstream in("stirling.in");
ofstream out("stirling.out");

int sp1[NMAX][NMAX],sp2[NMAX][NMAX];

void Calculare_SpetaI()
{
    int i,j;
    sp1[1][1]=1;
    for(i=2; i<=NMAX-1; i++)
    {
        for(j=1; j<=i+1; j++)
            sp1[i][j]=(sp1[i-1][j-1]-(i-1)*sp1[i-1][j])%MODULO;
    }
}

void Calculare_SpetaII()
{
    int i,j;
    sp2[1][1]=1;
    for(i=2; i<=NMAX-1; i++)
    {
        for(j=1;j<=i+1; j++)
            sp2[i][j]=(sp2[i-1][j-1]+j*sp2[i-1][j])%MODULO;
    }
}



int main()
{
    int T,i,x,n,m;
    in>>T;
    Calculare_SpetaI();
    Calculare_SpetaII();

    for(i=1; i<=T; i++)
    {
        in>>x>>n>>m;
        if(x==1)
            out<<sp1[n][m]<<'\n';
        else
            out<<sp2[n][m]<<'\n';
    }
    return 0;
}