Pagini recente » Cod sursa (job #23587) | Cod sursa (job #102404) | Cod sursa (job #345496) | Cod sursa (job #550458) | Cod sursa (job #585223)
Cod sursa(job #585223)
#include <stdio.h>
int s[201][201];
int p[201][201];
void calc() {
int i, j;
for(i = 0; i <= 200; ++i) {
s[i][0] = 0;
s[0][i] = i == 0 ? 1 : 0;
p[i][0] = 0;
p[0][i] = i == 0 ? 1 : 0;
}
for(i = 1; i <= 200; i++) {
for(j = 1; j <= 200; j++) {
s[i][j] = (s[i-1][j-1] - (i-1)*s[i-1][j]) % 98999;
p[i][j] = (p[i-1][j-1] + (j)*p[i-1][j]) % 98999;
}
}
}
int main() {
int x, n, m, t;
calc();
freopen("stirling.in", "r", stdin);
freopen("stirling.out", "w", stdout);
/*
int i, j;
for(i = 0; i < 10; ++i) {
for(j = 0; j < 10; ++j) {
printf("%d ", s[i][j]);
}
printf("\n");
}
printf("\n");
for(i = 0; i < 10; ++i) {
for(j = 0; j < 10; ++j) {
printf("%d ", p[i][j]);
}
printf("\n");
}
*/
scanf("%d", &t);
while(t--) {
scanf("%d %d %d", &x, &n, &m);
printf("%d\n", x == 1 ? s[n][m] : p[n][m]);
}
fclose(stdout);
return 0;
}