Pagini recente » Cod sursa (job #2636345) | Cod sursa (job #577380) | Cod sursa (job #101013) | Clasament 3735 | Cod sursa (job #978676)
Cod sursa(job #978676)
#include <fstream>
const int MOD = 98999;
struct Stirley
{
int s, S;
};
int main(void)
{
Stirley **nArr = new Stirley*[201];
for(int i = 0; i < 201; i++)
{
nArr[i] = new Stirley[201];
}
for(int i = 0; i < 201; i++)
{
nArr[i][i].s = 1;
nArr[i][i].S = 1;
}
for(int i = 1; i < 201; i++)
{
nArr[0][i].s = 0;
nArr[0][i].S = 0;
nArr[i][0].s = 0;
nArr[i][0].S = 0;
}
for(int i = 2; i < 201; i++)
for(int j = 1; j <= i; j++)
{
nArr[i][j].s = (nArr[i-1][j-1].s - (i - 1) * nArr[i - 1][j].s) % MOD;
nArr[i][j].S = (nArr[i - 1][j - 1].S + j * nArr[i - 1][j].S) % MOD;
}
std::ifstream in("stirling.in");
std::ofstream out("stirling.out");
int nV, a, b, c;
in >> nV;
for(int i = 0; i < nV; i++)
{
in >> a >> b >> c;
if(a == 1) out << nArr[b][c].s << '\n';
else out << nArr[b][c].S << '\n';
}
return 0;
}