Pagini recente » Cod sursa (job #966027) | Cod sursa (job #1918054) | Cod sursa (job #20443) | Cod sursa (job #803740) | Cod sursa (job #1474908)
#include<fstream>
#define MOD 10007
using namespace std;
ifstream f("permutari2.in"); ofstream g("permutari2.out");
int F[305],D[305][305];//D[i][j]=nr de perm de lg i folosind primele i elemente cu j prefixe bune
int main()
{ int n,k,i,j,p,t;
f>>n>>k;
F[0]=1;
for(i=1;i<=n;++i) F[i]=(i*F[i-1])%MOD;
D[1][1]=1;
for(i=2;i<=n;++i)
{ t=0;
for(j=2;j<=i;++j)
{ for(p=j-1;p<=i-1;++p)
D[i][j]=(D[i][j]+D[p][j-1]*D[i-p][1])%MOD;
t+=D[i][j];
if(t>=MOD) t-=MOD;
}
D[i][1]=F[i]-t;
if(D[i][1]<0) D[i][1]+=MOD;
}
g<<D[n][k]; g.close(); return 0;
}