Cod sursa(job #922077)

Utilizator cat_red20Vasile Ioana cat_red20 Data 21 martie 2013 21:58:10
Problema Permutari2 Scor 70
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.81 kb
#include<stdio.h>
#define MOD 10007
int n,k,fact[301],d[301][301];

void citire()
{
    freopen("permutari2.in","r",stdin);
    scanf("%d %d",&n,&k);
}

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

void din()
{
    int s=0;
    d[1][1]=1;
    for(int i=2;i<=n;i++)
    {
        s=0;
        for(int j=2;j<=i;j++)
        {
            for(int t=i-1;t>=j-1;t--)
            {
                d[i][j]=(d[i][j]+d[t][j-1]*d[i-t][1]%MOD)%MOD;
            }
            s=(s+d[i][j])%MOD;
        }
        d[i][1]=(fact[i]-s+MOD)%MOD;
    }
}

void afisare()
{
    freopen("permutari2.out","w",stdout);
    printf("%d",d[n][k]);
}

int main()
{
    citire();
    factorial();
    din();
    afisare();
    return 0;
}