Pagini recente » Cod sursa (job #1556771) | Cod sursa (job #2780329) | Cod sursa (job #2836405) | Cod sursa (job #2942380) | Cod sursa (job #1496737)
#include <cstdio>
using namespace std;
const int Nmax = 302;
const int Mod = 10007;
int N, K, i, j, k, Perm;
int D[Nmax][Nmax];
int main(){
freopen ( "permutari2.in", "r", stdin );
freopen ( "permutari2.out", "w", stdout );
scanf ( "%d%d", &N, &K );
D[1][1] = 1;
Perm = 1;
for ( i = 2; i <= N; ++i ){
Perm = (Perm * i) % Mod;
D[i][1] = Perm;
for ( j = 2; j <= i; ++j ){
long long x = 0;
for ( k = j - 1; k < i; ++k )
x += D[k][j-1] * D[i-k][1];
D[i][j] = x % Mod;
D[i][1] = ( D[i][1] - D[i][j] + Mod ) % Mod;
}
}
printf ( "%d\n", D[N][K] );
return 0;
}