Pagini recente » Cod sursa (job #554048) | Cod sursa (job #2687574) | Cod sursa (job #879932) | Cod sursa (job #1865618) | Cod sursa (job #1678085)
#include <bits/stdc++.h>
const int DIM = 1 << 9;
const int MOD = 10009;
using namespace std;
int D[DIM][DIM], P[DIM], N, K;
int main() {
FILE *input_file = fopen( "permutari2.in" , "r" );
FILE *output_file = fopen( "permutari2.out", "w" );
fscanf( input_file, "%d %d", &N, &K );
D[1][1] = P[1] = 1;
for( int i = 2; i <= N; i ++ ) {
P[i] = D[i][1] = ( P[i - 1] * i ) % MOD;
for( int j = 2; j <= i; j ++ ) {
for( int k = i - 1; k >= j - 1; k -- )
D[i][j] = ( D[i][j] + D[k][j - 1] * D[i - k][1] ) % MOD;
D[i][1] = ( D[i][1] - D[i][j] < 0 ) ? ( D[i][1] - D[i][j] + MOD ) : ( D[i][1] - D[i][j] );
}
}
fprintf( output_file, "%d\n", D[N][K] );
return 0;
}