Cod sursa(job #2148806)

Utilizator EclipseTepes Alexandru Eclipse Data 2 martie 2018 00:27:34
Problema Numerele lui Stirling Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.99 kb
#include <iostream>
#include <fstream>
#define dMAX 201
#define MOD 98999

using namespace std;

unsigned short int T, V, n, m;
int stir1[dMAX][dMAX], stir2[dMAX][dMAX];

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

void GenerateStirling1() {
    int i, j;
    stir1[1][1] = 1;
    for (i = 2; i < dMAX; i++) {
        for (j = 1; j <= i; j++) {
            stir1[i][j] = (stir1[i - 1][j - 1] - (i - 1) * stir1[i - 1][j]) % MOD;
        }
    }

}

void GenerateStirling2() {
    int i, j;
    stir2[1][1] = 1;
    for (i = 2; i < dMAX; i++) {
        for (j = 1; j <= i; j++) {
            stir2[i][j] = (stir2[i - 1][j - 1] + j * stir2[i - 1][j]) % MOD;
        }
    }
}

int main()
{
    unsigned short int i, j;
    fin >> T;
    GenerateStirling1();
    GenerateStirling2();
    for (i = 1; i <= T; i++) {
        fin >> V;
        fin >> n >> m;
        V == 1 ? fout << stir1[n][m] << "\n" : fout << stir2[n][m] << "\n";
    }
    return 0;
}