Pagini recente » Cod sursa (job #1448811) | Cod sursa (job #1594962) | Cod sursa (job #2892386) | Cod sursa (job #2894823) | Cod sursa (job #2515459)
#include<cstdio>
using namespace std;
const int MOD=10007;
const int NMAX=305;
int dp[NMAX][NMAX],perm[NMAX];
int main(){
freopen("permutari2.in","r",stdin);
freopen("permutari2.out","w",stdout);
int n,m;
scanf("%d%d", &n, &m);
perm[1]=1;
for(int i=2;i<=n;i++)
perm[i]=(perm[i-1]*i)%MOD;
dp[1][1]=1;
for(int i=2;i<=n;i++){
int sum=0;
for(int j=2;j<=n;j++){
for(int k=i-1;k>=j-1;k--){
dp[i][j]+=(dp[k][j-1]*dp[i-k][1])%MOD;
dp[i][j]%=MOD;
}
sum=(sum+dp[i][j])%MOD;
}
dp[i][1]=(perm[i]-sum+MOD)%MOD;
}
printf("%d", dp[n][m]);
return 0;
}