Cod sursa(job #1377794)

Utilizator oprea1si2si3Oprea Sebastian oprea1si2si3 Data 6 martie 2015 02:56:09
Problema Numerele lui Stirling Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.87 kb
#include <fstream>
using namespace std;

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

const int kNMax = 211, MOD = 98999;
int n = kNMax - 10, s[kNMax][kNMax], S[kNMax][kNMax];

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

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

int main() {
    Prelucrares();
    PrelucrareS();
    int t, optiune, x, y;
    in >> t;
    while (t--) {
        in >> optiune >> x >> y;
        if (optiune == 1)
            out << s[x][y] << '\n';
        else
            out << S[x][y] << '\n';

    }
    in.close();
    out.close();
    return 0;
}