Pagini recente » Cod sursa (job #1765280) | Cod sursa (job #1943969) | Cod sursa (job #482820) | Cod sursa (job #1714609) | Cod sursa (job #1678090)
#include <bits/stdc++.h>
const int DIM = 1 << 9;
const int MOD = 10007;
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[1][i] = ( P[i - 1] * i ) % MOD;
for( int j = 2; j <= i; j ++ ) {
for( int k = i - 1; k >= j - 1; k -- )
D[j][i] = ( D[j][i] + D[j - 1][k] * D[1][k] ) % MOD;
D[1][i] = ( D[1][i] - D[j][i] < 0 ) ? ( D[1][i] - D[j][i] + MOD ) : ( D[1][i] - D[j][i] );
}
}
fprintf( output_file, "%d\n", D[K][N] );
return 0;
}