Cod sursa(job #966434)

Utilizator dragangabrielDragan Andrei Gabriel dragangabriel Data 25 iunie 2013 21:42:22
Problema Numerele lui Stirling Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.69 kb
#include<cstdio>
#include<cstring>
#include<algorithm>
#define mod 98999
#define nmax 200
using namespace std;

int s[201][201],S[201][201],n,i,j,k,x,y;

void stirling()
{
	s[1][1]=1;
	for (i=2;i<=nmax;i++)
		for (j=1;j<=i;j++)
			s[i][j]=(s[i-1][j-1]-(i-1)*s[i-1][j])%mod;
}

void Stirling()
{
	S[1][1]=1;
	for (i=2;i<=nmax;i++)
		for (j=1;j<=i;j++)
			S[i][j]=(S[i-1][j-1]+j*S[i-1][j])%mod;
}

int main()
{
	freopen("stirling.in","r",stdin);
	freopen("stirling.out","w",stdout);
	stirling();
	Stirling();
	scanf("%d",&n);
	for (i=1;i<=n;i++) 
		{
			scanf("%d %d %d",&k,&x,&y);
			if (k==1) printf("%d\n",s[x][y]);else
				printf("%d\n",S[x][y]);
	}
	return 0;
}