Cod sursa(job #602676)

Utilizator a_h1926Heidelbacher Andrei a_h1926 Data 12 iulie 2011 15:20:27
Problema Numerele lui Stirling Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.96 kb
#include <iostream>
#include <fstream>

#define NMax 205
#define MOD 98999

using namespace std;

int s[NMax][NMax], S[NMax][NMax];

void Calcs ()
{
    s[1][1]=1;
    for (int i=2; i<=200; ++i)
    {
        for (int j=1; j<=i; ++j)
        {
            s[i][j]=(s[i-1][j-1]-(i-1)*s[i-1][j])%MOD;
        }
    }
}

void CalcS ()
{
    S[1][1]=1;
    for (int i=2; i<=200; ++i)
    {
        for (int j=1; j<=i; ++j)
        {
            S[i][j]=(S[i-1][j-1]+j*S[i-1][j])%MOD;
        }
    }
}

int main()
{
    ifstream fin ("stirling.in");
    ofstream fout ("stirling.out");
    Calcs ();
    CalcS ();
    int T;
    fin >> T;
    for (; T>0; --T)
    {
        int Speta, n, m;
        fin >> Speta >> n >> m;
        if (Speta==1)
        {
            fout << s[n][m] << "\n";
        }
        else
        {
            fout << S[n][m] << "\n";
        }
    }
    fin.close ();
    fout.close ();
    return 0;
}