Cod sursa(job #761472)

Utilizator Marius96Marius Gavrilescu Marius96 Data 26 iunie 2012 02:08:29
Problema Numerele lui Stirling Scor 20
Compilator cpp Status done
Runda Arhiva educationala Marime 0.59 kb
#include<cstdio>
int v[2][201][201];

int s (int n,int m)
{
	if(n==0&&m==0)
		return 1;
	if(n==0||m==0)
		return 0;
	return v[0][n-1][m-1]-(n-1)*v[0][n-1][m];
}

int S (int n,int m)
{
	if(n==0&&m==0)
		return 1;
	if(n==0||m==0)
		return 0;
	return v[1][n-1][m-1]+m*v[1][n-1][m];
}

int main()
{
	freopen ("stirling.in","r",stdin);
	freopen ("stirling.out","w",stdout);
	int t;

	for(int i=0;i<201;i++)
		for(int j=0;j<201;j++){
			v[0][i][j]=s (i,j);
			v[1][i][j]=S (i,j);
		}

	scanf ("%d",&t);
	while(t--){
		int o,n,m;
		scanf ("%d%d%d",&o,&m,&n);
		printf ("%d\n",v[o-1][m][n]);
	}
	return 0;
}