Cod sursa(job #2497980)

Utilizator borscalinCalin-Stefan Georgescu borscalin Data 23 noiembrie 2019 13:07:14
Problema Numerele lui Stirling Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.64 kb
#include <iostream>
#include <fstream>

#define NMAX 200
#define MOD 98999

std::ifstream fin ( "stirling.in" );
std::ofstream fout ( "stirling.out" );

long long s[1 + NMAX][1 + NMAX];
long long S[1 + NMAX][1 + NMAX];

int main() {

	int T, N, M;

	s[0][0] = 1;
	S[0][0] = 1;

	for ( int i = 1; i <= NMAX; ++i ) {
		for ( int j = 1; j <= i; ++j ) {
			s[i][j] = ( s[i - 1][j - 1] - ( i - 1 ) * s[i - 1][j] ) % MOD;
			S[i][j] = ( S[i - 1][j - 1] + j * S[i - 1][j] ) % MOD;
		}
	}

	fin >> T;

	for ( int k = 1; k <= T; ++k ) {

		int x;
		fin >> x >> N >> M;
		
		if ( x == 1 )
			fout << s[N][M];
		else
			fout << S[N][M];

		fout << '\n';
	}

	return 0;
}