Cod sursa(job #956958)

Utilizator crisbodnarCristian Bodnar crisbodnar Data 4 iunie 2013 10:24:46
Problema Numerele lui Stirling Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.6 kb
#include <iostream>
#include <fstream>

using namespace std;

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

const int N = 201, MOD = 98999;
int t, n, k, c, s[N][N], S[N][N];

void Solve_s()
{
	s[1][1] = 1;
	for(int i=2; i<N; i++)
		for(int j=1; j<=i; j++)
			s[i][j] = (s[i-1][j-1] - (i-1)*s[i-1][j]) % MOD;
}

void Solve_S()
{
	S[1][1] = 1;
	for(int i=2; i<N; i++)
		for(int j=1; j<=i; j++)
			S[i][j] = (S[i-1][j-1] + j*S[i-1][j]) % MOD;
}

int main()
{
	Solve_s();
	Solve_S();
	
	fin>>t;
	while(t--)
	{
		fin>>c>>n>>k;
		if(c == 1) fout<<s[n][k]<<'\n';
		else fout<<S[n][k]<<'\n';
	}
	return 0;
}