Cod sursa(job #525829)

Utilizator ZethpixZethpix Zethpix Data 26 ianuarie 2011 14:46:09
Problema Numerele lui Stirling Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.66 kb
#include <stdio.h>
#include <string.h>

int s1[201][201],s2[201][201],i,j,n,m,x,T,t;

int main()
{
	freopen("stirling.in","r",stdin);
	freopen("stirling.out","w",stdout);
	
	scanf("%d",&T);
	
	memset(s1,0,sizeof(s1));
	memset(s2,0,sizeof(s2));
	s1[1][1]=1;
	s1[2][1]=-1;
	s1[2][2]=1;
	for(i=3;i<=200;i++)
		for(j=1;j<=i;j++)
			s1[i][j]=(s1[i-1][j-1]-s1[i-1][j]*(i-1))%98999;
	s2[1][1]=1;
	s2[2][1]=1;
	s2[2][2]=1;
	for(i=3;i<=200;i++)
		for(j=1;j<=i;j++)
			s2[i][j]=(s2[i-1][j-1]+j*s2[i-1][j])%98999;
		
	for(t=1;t<=T;t++)
	{
		scanf("%d%d%d",&x,&n,&m);
		if(x==1) printf("%d\n",s1[n][m]);
		else printf("%d\n",s2[n][m]);
	}
	
	return 0;
}