Cod sursa(job #466481)

Utilizator tranbachhaiTran Bach Hai tranbachhai Data 26 iunie 2010 19:11:15
Problema Permutari2 Scor 90
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.55 kb
#include<stdio.h>
#define p 10007
//dinamica

int n,k,v[310][310],fac[310];

int main()
{
int i,j,q;
	freopen("permutari2.in","r",stdin);
	freopen("permutari2.out","w",stdout);
	scanf("%d%d",&n,&k);
	fac[0]=1;
	for (i=1;i<=n;++i)
		fac[i]=(fac[i-1]*i)%p;
	v[1][1]=1;
	for (i=2;i<=n;++i)
		{
		for (j=1;j<n;++j)
			v[1][i]=(v[1][i]+fac[j]*v[1][i-j])%p;
		v[1][i]=(fac[i]-v[1][i])%p;
		}
	for (i=2;i<=k;++i)
		{
		for (j=i;j<=n;++j)
		{
				for (q=1;q<j;++q)
				  v[i][j]+=(v[1][q]*v[i-1][j-q])%p;
				v[i][j]=v[i][j]%p;
		}
	}
	
	printf("%d",v[k][n]);
	return 0;
}