Pagini recente » Cod sursa (job #249636) | Cod sursa (job #1440344) | Cod sursa (job #1221891) | Cod sursa (job #1776134) | Cod sursa (job #1937139)
#include <fstream>
using namespace std;
ifstream fin("arbori.in");
ofstream fout("arbori.out");
typedef long long i64;
const int nmax= 90;
const int mmax= 10;
i64 d[nmax+1][mmax+1][nmax+1];
int main( ) {
int n, m, k;
fin>>n>>m>>k;
for ( int i= 0; i<=n; ++i ) {
d[1][0][i]= 1;
}
for ( int i= 2; i<=n; ++i ) {
d[i][(i-1)%m][1]= 1;
for ( int l= 2; l<=n; ++l ) {
for ( int j= 0; j<m; ++j ) {
i64 comb= 1;
for ( int p= 0; p*l<i; ++p ) {
d[i][j][l]+= d[i-p*l][((j-p)%m+m)%m][l-1]*comb;
comb= (comb*(d[l][((k-1)%m+m)%m][l-1]+p))/(p+1);
}
}
}
}
fout<<d[n][k][n-1]<<"\n";
return 0;
}