Cod sursa(job #1593674)

Utilizator Athena99Anghel Anca Athena99 Data 8 februarie 2016 19:52:13
Problema Permutari2 Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.61 kb
#include <fstream>

using namespace std;

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

const int nmax= 300;
const int mod= 10007;

int d[nmax+1][nmax+1];

int main(  ) {
    int n, x;
    fin>>n>>x;
    d[1][1]= 1;
    for ( int i= 2, f= 1; i<=n; ++i ) {
        for ( int j= 2; j<=i; ++j ) {
            for ( int k= j-1; k<=i-1; ++k ) {
                d[i][j]= (d[i][j]+d[k][j-1]*d[i-k][1])%mod;
            }
            d[i][1]= (d[i][1]+d[i][j])%mod;
        }
        f= f*i%mod;
        d[i][1]= (f+mod-d[i][1])%mod;
    }

    fout<<d[n][x]<<"\n";

    return 0;
}