Pagini recente » Cod sursa (job #3364057) | Cod sursa (job #3361653) | Cod sursa (job #3364027) | Cod sursa (job #3364023) | Cod sursa (job #3364114)
#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
typedef size_t ull;
typedef vector<int> vc;
typedef vector<vector<int>> matrix;
#define ft(n) for(int i=1; i<=n; i++)
#define sp ' '
#define vx first
#define vy second
string file = "stirling";
ifstream f(file + ".in");
ofstream g(file + ".out");
const int NMAX = 200, MOD=98999;
int n, k, x, y;
matrix s1(NMAX+5, vc(NMAX+5, 0)), s2(NMAX + 5, vc(NMAX + 5, 0));
void stirling(int n)
{
s1[0][0] = 1;
for (int i = 1; i <= n; i++)
for (int j = 1; j <= n; j++)
{
s1[i][j] = ((-i + 1) * s1[i - 1][j] + s1[i - 1][j - 1])%MOD;
}
s2[0][0] = 1;
for (int i = 1; i <= n; i++)
for (int j = 1; j <= n; j++)
{
s2[i][j] = (j * s2[i - 1][j] + s2[i - 1][j - 1])%MOD;
}
}
int main()
{
f >> n;
stirling(NMAX);
for (int i = 1; i <= n; i++)
{
f >> k >> x >> y;
if (k == 1)
g << s1[x][y] << "\n";
else if (k == 2)
g << s2[x][y] << "\n";
}
return 0;
}