Pagini recente » Cod sursa (job #2664104) | Cod sursa (job #2450479) | Cod sursa (job #2990327) | Cod sursa (job #861893) | Cod sursa (job #3201982)
#include <iostream>
#include <fstream>
using namespace std;
int main()
{
ifstream input("stirling.in");
ofstream output("stirling.out");
int s_first[201][201] = {}, S_second[201][201] = {};
s_first[0][0] = 1;
S_second[0][0] = 1;
for(int i = 1; i <= 200; i++){
s_first[i][i] = 1;
S_second[i][i] = 1;
}
for(int n = 2; n <= 200; n++){
s_first[n][1] = -(s_first[n-1][1] * (n-1)) % 98999;
S_second[n][1] = 1;
}
for(int k = 2; k <= 200; k++){
for(int n = k+1; n <= 200; n++){
s_first[n][k] = (s_first[n-1][k-1] - (n-1)*s_first[n-1][k]) % 98999;
S_second[n][k] = (S_second[n-1][k-1] + k*S_second[n-1][k]) % 98999;
}
}
int T, x, n, m;
input >> T;
for(int i = 0; i < T; i++){
input >> x >> n >> m;
if(x == 1){
output << s_first[n][m] << "\n";
}else{
output << S_second[n][m] << "\n";
}
}
return 0;
}