Cod sursa(job #1474908)

Utilizator enedumitruene dumitru enedumitru Data 23 august 2015 08:53:19
Problema Permutari2 Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.66 kb
#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;
}