Pagini recente » Cod sursa (job #2968987) | Cod sursa (job #2679514) | Cod sursa (job #1518061) | Cod sursa (job #1083995) | Cod sursa (job #1496733)
#include<stdio.h>
#define maxn 305
#define mod 10007
FILE*f=fopen("permutari2.in","r");
FILE*g=fopen("permutari2.out","w");
int n,k;
int D[maxn][maxn],F[maxn];
int main () {
fscanf(f,"%d %d",&n,&k);
F[0] = 1;
for ( int i = 1 ; i <= n ; ++i ){
F[i] = (F[i-1]*i)%mod;
}
D[1][1] = 1;
for ( int i = 2 ; i <= n ; ++i ){
int total = 0;
for ( int j = 2 ; j <= i ; ++j ){
for ( int p = j-1 ; p <= i-1 ; ++p ){
D[i][j] = (D[i][j] + D[p][j-1]*D[i-p][1])%mod;
}
total += D[i][j]; if ( total >= mod ) total -= mod;
}
D[i][1] = F[i]-total; if ( D[i][1] < 0 ) D[i][1] += mod;
}
fprintf(g,"%d\n",D[n][k]);
fclose(f);
fclose(g);
return 0;
}