Cod sursa(job #750619)

Utilizator maritimCristian Lambru maritim Data 22 mai 2012 18:29:35
Problema Numerele lui Stirling Scor 20
Compilator cpp Status done
Runda Arhiva educationala Marime 0.69 kb
#include<stdio.h>

FILE *f = fopen("stirling.in","r");
FILE *g = fopen("stirling.out","w");

#define MaxN 301
#define Mod 98999

int T,X,N,M;
int s[MaxN][MaxN],S[MaxN][MaxN];

void citire(void)
{
	fscanf(f,"%d ",&T);
}

void Creares(void)
{
	s[1][1] = 1;
	for(int i=2;i<=200;i++)
		for(int j=1;j<=i;j++)
			s[i][j] = (1LL*s[i-1][j-1]-1LL*(i-1)*s[i-1][j])%Mod;
}

void CreareS(void)
{
	S[1][1] = 1;
	for(int i=2;i<=200;i++)
		for(int j=1;j<=i;j++)
			S[i][j] = (1LL*S[i-1][j-1]-1LL*j*S[i-1][j])%Mod;
}

int main()
{
	citire();
	Creares();
	CreareS();
	for(int i=1;i<=T;i++)
	{
		fscanf(f,"%d %d %d",&X,&N,&M);
		fprintf(g,"%d\n",X == 1 ? s[N][M] : S[N][M]);
	}
}