Cod sursa(job #628698)

Utilizator DeadEyeNaiba Mihai Lucian DeadEye Data 1 noiembrie 2011 22:04:58
Problema Numerele lui Stirling Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.64 kb
#include<cstdio>
const int maxN=201,rest=98999;
int T,n,m,x,s1[maxN][maxN],s2[maxN][maxN];
void c1()
{
	int i,j;
	s1[1][1]=1;
	for(i=2;i<maxN;++i)
		for(j=1;j<=i;++j)
			s1[i][j]=(s1[i-1][j-1]-(i-1)*s1[i-1][j])%rest;
}
void c2()
{
	int i,j;
	s2[1][1]=1;
	for(i=2;i<maxN;++i)
		for(j=1;j<=i;++j)
			s2[i][j]=(s2[i-1][j-1]+j*s2[i-1][j])%rest;
}
void work()
{
	c1(); c2();
	for(int i=1;i<=T;++i)
	{
		scanf("%d%d%d",&x,&n,&m);
		if(x==1)
			printf("%d\n",s1[n][m]);
		else printf("%d\n",s2[n][m]);
	}
}
int main()
{
	freopen("stirling.in","r",stdin);
	freopen("stirling.out","w",stdout);
	scanf("%d",&T);
	work();
	return 0;
}