Cod sursa(job #1828789)
Utilizator | Data | 13 decembrie 2016 21:16:13 | |
---|---|---|---|
Problema | Permutari2 | Scor | 90 |
Compilator | cpp | Status | done |
Runda | Arhiva de probleme | Marime | 0.6 kb |
#include <fstream>
#define nmax 301
#define MOD 10007
using namespace std;
ifstream fin("permutari2.in");
ofstream fout("permutari2.out");
short int n,h,f[nmax],d[nmax][nmax],i,j,k;
int main()
{
fin>>n>>h;
f[0]=1;
d[1][1]=1;
for(i=1; i<=n; i++)
f[i]=(i*f[i-1])%MOD;
for(i=2; i<=n; i++)
{
for(j=2; j<=i; j++)
for(k=j-1; k<i; k++)
d[i][j]=(d[i][j]+d[k][j-1]*d[i-k][1])%MOD;
d[i][1]=f[i];
for(j=2; j<=i; j++)
d[i][1]=(MOD+d[i][1]-d[i][j])%MOD;
}
fout<<d[n][h];
return 0;
}