Cod sursa(job #1221145)

Utilizator Luncasu_VictorVictor Luncasu Luncasu_Victor Data 19 august 2014 17:23:47
Problema Numerele lui Stirling Scor 20
Compilator cpp Status done
Runda Arhiva educationala Marime 0.83 kb
#include <iostream>
#include <cstdio>
#include <cmath>
#include <cstring>
#include <vector>
#include <stack>
#include <algorithm>
using namespace std;
#define MAX 201

int T, s[MAX][MAX], S[MAX][MAX];

void Stirling() {
	s[1][1] = 1;
	for (int i = 2; i < MAX; i++) {
		for (int j = 1; j <= i; j++) {
			s[i][j] = (s[i-1][j-1] + (-(i-1)) * s[i-1][j]) % 98999;
		}
	}
	S[1][1] = 1;
	for (int i = 2; i < MAX; i++) {
		for (int j = 1; j <= i; j++) {
			S[i][j] = (S[i-1][j-1] + i * S[i-1][j]) % 98999;
		}
	}
}

int main() {
	int Op, N, M;
	
	freopen("stirling.in","r",stdin);
	freopen("stirling.out","w",stdout);
	
	Stirling();
	
	scanf("%d", &T);
	while (T--) {
		scanf("%d %d %d", &Op, &N, &M);
		if (Op == 1) {
			printf("%d\n", s[N][M]);
		} else {
			printf("%d\n", S[N][M]);
		}
	}
	
	return 0;
}