Pagini recente » Cod sursa (job #848135) | Cod sursa (job #956428) | Cod sursa (job #110813) | Cod sursa (job #1516069) | Cod sursa (job #2148805)
#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() {
unsigned 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() {
unsigned 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;
}