Pagini recente » Cod sursa (job #1509701) | Cod sursa (job #1657001) | Cod sursa (job #54281) | Cod sursa (job #18724) | Cod sursa (job #468192)
Cod sursa(job #468192)
#include <cstdio>
#define infile "permutari2.in"
#define outfile "permutari2.out"
#define MaxN 324
#define MOD 10007
int N,K;
int f[MaxN],sol[MaxN][MaxN];
int v[MaxN];
void solve()
{
int i,j,l;
f[1]=1;
for(i=2;i<=N;i++)
f[i]=(f[i-1]*i)%MOD;
v[1]=v[2]=1;
for(i=3;i<=N;i++)
{
v[i]=f[i];
for(j=1;j<i;j++)
v[i]=(v[i]-(f[j]*v[i-j])%MOD+MOD)%MOD;
}
sol[0][0]=1;
for(i=0;i<N;i++)
for(j=0;j<K;j++)
if(sol[i][j])
for(l=i+1;l<=N;l++)
sol[l][j+1]=(sol[l][j+1]+sol[i][j]*v[l-i])%MOD;
}
int main()
{
freopen(infile,"r",stdin);
freopen(outfile,"w",stdout);
scanf("%d%d",&N,&K);
solve();
printf("%d\n",sol[N][K]);
/*for(int i=1;i<=N;i++)
{
for(int j=1;j<=K;j++)
printf("%d ",sol[i][j]);
printf("\n");
}*/
fclose(stdin);
fclose(stdout);
return 0;
}