Cod sursa(job #501496)

Utilizator paul_gabryelPaul Buda paul_gabryel Data 15 noiembrie 2010 11:38:48
Problema Numerele lui Stirling Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.63 kb

#include<fstream>
#include<cstdio>

using namespace std;

#define N 201
#define MOD 98999

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

void calcs()
{

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 calcS()
{

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()
{
	
	ifstream in ("stirling.in");
	freopen("stirling.out","w",stdout);
	
	calcs();
	calcS();
	
	for(in>>t;t;--t){
		in>>mod>>n>>m;
		switch(mod){
		case 1: printf("%d\n",s[n][m]);break;
		case 2:	printf("%d\n",S[n][m]);break;
	}
	}
	
	return 0;}