Pagini recente » Cod sursa (job #2532122) | Cod sursa (job #1031201) | Cod sursa (job #400377) | Cod sursa (job #2609711) | Cod sursa (job #475727)
Cod sursa(job #475727)
#include <cstdio>
using namespace std;
const int MOD = 10007;
const int MAXN = 310;
int n, m;
int c[MAXN][MAXN];
int main() {
freopen("permutari2.in", "r", stdin);
freopen("permutari2.out", "w", stdout);
scanf("%d %d", &n, &m);
c[1][1] = 1;
int fact = 1;
for (int i = 2; i <= n; ++i) {
for (int j = 2; j <= i; ++j)
for (int k = j-1; k < i; ++k)
c[i][j] = (c[i][j] + c[k][j-1]*c[i-k][1]) % MOD;
fact = (fact * i) % MOD;
c[i][1] = fact;
for (int j = i; j > 1; --j) {
c[i][1] -= c[i][j];
if (c[i][1] < 0)
c[i][1] += MOD;
}
}
printf("%d\n", c[n][m]);
return 0;
}