Pagini recente » Cod sursa (job #1426450) | Cod sursa (job #1588236) | Cod sursa (job #2347202) | Cod sursa (job #450781) | Cod sursa (job #468485)
Cod sursa(job #468485)
#include <cstdio>
#define X 10007
#define nmax 310
int n, k, v[nmax][nmax];
int fact (int x)
{
int i, p=1;
for (i=2; i<=x; i++) p=(p*i)%X;
return p;
}
int main()
{
freopen("permutari2.in","r",stdin);
freopen("permutari2.out","w",stdout);
scanf("%d %d",&n,&k);
int i, j, c, s;
v[1][1]=1;
for (i=2; i<=n; i++)
{
v[i][i]=1;
if (i>1) s=1; else s=0;
for (j=2; j<i; j++)
{
for (c=i-1; c>=j-1; c--)
{
v[i][j]=(v[i][j]+v[c][j-1]*v[i-c][1]%X)%X;
}
s=(s+v[i][j])%X;
}
c=fact(i);
v[i][1]=c-s;
if (v[i][1]<0) v[i][1]+=X;
}
printf("%d\n",v[n][k]);
}