Cod sursa(job #2602410)

Utilizator Alex_tz307Lorintz Alexandru Alex_tz307 Data 16 aprilie 2020 20:33:19
Problema Numerele lui Stirling Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.69 kb
#include <bits/stdc++.h>

using namespace std;

ifstream f("stirling.in");
ofstream g("stirling.out");

const int N=201,MOD=98999;

int t, n, m, speta, s[N][N], S[N][N];

void precalculare_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 precalculare_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()
{
	precalculare_s();
	precalculare_S();
	f>>t;
	while(t--)
	{
		f>>speta>>n>>m;
		if(speta==1) g<<s[n][m]<<'\n';
		if(speta==2) g<<S[n][m]<<'\n';
	}
	f.close();
	g.close();
	return 0;
}