Cod sursa(job #1828784)

Utilizator GoogalAbabei Daniel Googal Data 13 decembrie 2016 21:13:27
Problema Permutari2 Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.72 kb
#include <fstream>
#define nmax 301
#define MOD 10007

using namespace std;

ifstream fin("permutari2.in");
ofstream fout("permutari2.out");

int n,k,f[nmax],d[nmax][nmax];

inline void fact()
{
    int i;
    for(i=1;i<=n;i++)
        f[i]=(i*f[i-1])%MOD;
}

inline void solve()
{
    int i,j,k;
    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;

        }
}

int main()
{
    fin>>n>>k;
    f[0]=1;
    d[1][1]=1;
    fact();
    solve();
    fout<<d[n][k];
    return 0;
}