Pagini recente » Cod sursa (job #883915) | Cod sursa (job #511531) | Cod sursa (job #1532553) | Cod sursa (job #752713) | Cod sursa (job #467546)
Cod sursa(job #467546)
#include <stdio.h>
using namespace std;
#define maxn 305
#define mod 10007
int n, k, sum;
int d[maxn][maxn], fact[maxn];
int main()
{
freopen("permutari2.in", "r", stdin);
freopen("permutari2.out", "w", stdout);
scanf("%d%d", &n, &k);
fact[0]=1;
for(int i=1; i<=n; ++i)
fact[i]=(fact[i-1]*i)%mod;
d[1][1]=1;
for(int i=2; i<=n; ++i)
{
sum=0;
for(int j=2; j<=n; ++j)
{
for(int l=1; l<i; ++l)
d[j][i]=(d[j][i]+d[j-1][i-l]*d[1][l])%mod;
sum=sum+d[j][i];
while(sum>=mod)
sum-=mod;
}
d[1][i]=(fact[i]-sum+mod);
while(d[1][i]>=mod)
d[1][i]-=mod;
}
printf("%d\n", d[k][n]);
return 0;
}