Cod sursa(job #1812598)

Utilizator PaulStighiStiegelbauer Paul-Alexandru PaulStighi Data 22 noiembrie 2016 11:08:44
Problema Numerele lui Stirling Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.68 kb
#include<iostream>
#include<fstream>
#define NMax 215
#define MOD 98999
using namespace std;

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

int Q,N,M,x;
int S1[NMax][NMax],S2[NMax][NMax];

void Precalc()
{
	S1[1][1] = S2[1][1] = 1;

	for(int i = 2 ; i < NMax ; ++i)
		for(int j = 1 ; j <= i ; ++j)
		{
			S1[i][j] = (S1[i-1][j-1] - (i-1) * S1[i-1][j]) % MOD;
			S2[i][j] = (S2[i-1][j-1] + j * S2[i-1][j]) % MOD;
		}
}

int main()
{
	Precalc();

	fin>>Q;

	while(Q--)
	{
		fin>>x>>N>>M;

		switch(x)
		{
			case 1: fout<<S1[N][M]<<"\n"; break;
			case 2:	fout<<S2[N][M]<<"\n"; break;
		}
	}

	fin.close();
	fout.close();
	return 0;
}