Pagini recente » Cod sursa (job #2351787) | Cod sursa (job #1423392) | Cod sursa (job #3272879) | Cod sursa (job #1211123) | Cod sursa (job #1504908)
#include <cstdio>
#define NMAX 307
#define Mod 10007
using namespace std;
int n, k, x, Dp[NMAX][NMAX];
int main(){
freopen("permutari2.in", "r", stdin);
freopen("permutari2.out", "w", stdout);
scanf("%d %d", &n, &k);
Dp[1][1] = x = 1;
for(int i = 2; i <= n; ++i){
x *= i;
if(x > Mod)
x %= Mod;
Dp[i][1] = x;
for(int j = 2; j <= i; ++j){
long long Ans = 0;
for(int l = j - 1; l < i; ++l)
Ans += Dp[l][j - 1] * Dp[i - l][1];
Dp[i][j] = Ans % Mod;
Dp[i][1] = (Dp[i][1] - Dp[i][j] + Mod) % Mod;
}
}
printf("%d\n", Dp[n][k]);
return 0;
}