Pagini recente » Cod sursa (job #3037277) | Cod sursa (job #2765272) | Cod sursa (job #2482077) | Cod sursa (job #2293618) | Cod sursa (job #2516433)
#include <iostream>
#include<cstdio>
using namespace std;
const int N=305;
int dp[N][N];
const int MOD=10007;
long long s;
int main()
{
freopen("permutari2.in","r",stdin);
freopen("permutari2.out","w",stdout);
int n,k;
scanf("%d%d",&n,&k);
int fact=1;
for(int i=1;i<=n;i++){
fact=fact*i%MOD;
dp[i][1]=fact-1;
dp[i][i]=1;
for(int j=2;j<i && j<=k;j++){
s=0;
for(int x=1;x<i;x++){
s+=dp[i-x][j-1]*dp[x][1];
}
s%=MOD;
dp[i][j]=s;
dp[i][1]-=(dp[i][j]-MOD);
}
dp[i][1]%=MOD;
}
printf("%d",dp[n][k]);
return 0;
}