Pagini recente » Cod sursa (job #411785) | Cod sursa (job #911523) | Cod sursa (job #2219600) | Cod sursa (job #2622762) | Cod sursa (job #1838741)
#include <bits/stdc++.h>
#define MOD 10007
#define MAXN 300
int dp[MAXN+1][MAXN+1];
int main(){
std::ifstream fin("permutari2.in");
std::ofstream fout("permutari2.out");
int i,n,k,j,p,fact;
fin >> n >> k;
dp[1][1]=1;
fact=1;
for(i=2;i<=n;i++){
fact=(fact*i)%MOD;
dp[i][1]=fact;
for(j=2;j<=n;j++){
for(p=j-1;p<i;p++)
dp[i][j]=(dp[i][j]+dp[p][j-1]*dp[i-p][1])%MOD;
dp[i][1]-=dp[i][j];
if(dp[i][1]<0)
dp[i][1]+=MOD;
}
}
fout << dp[n][k];
fin.close();
fout.close();
return 0;
}