Pagini recente » Cod sursa (job #215119) | Cod sursa (job #289186) | Cod sursa (job #82773) | Cod sursa (job #3164103) | Cod sursa (job #2325326)
#include <stdio.h>
#define ll long long
using namespace std;
long long din[101][101][101];
long long cmb[202][202];
int i,j,i1,j1,n,m,k;
long long pow=1;
ll comb(int x,int y){
ll sol;
if(y==1) sol =1;
else sol=din[y][(k+m-1)%m][n];
if(x) pow*=(x+sol-1)*pow/x;
else pow=1;
return pow;
}
int main()
{
freopen("arbori.in","r",stdin);
freopen("arbori.out","w",stdout);
scanf("%d%d%d",&n,&m,&k);
for(i=1;i<=n;i++) din[1][0][i]=1;
for(i=2;i<=n;i++){
din[i][(i-1)%m][1]=1;
for(j=0;j<m;j++){
for(i1=2;i1<=n;i1++){
for(j1=0;j1*i1<i;j1++){
din[i][j][i1]+=din[i-i1*j1][(j-j1+100*m)%m][i1-1]*comb(j1,i1);
}
}
}
}
printf("%lld",din[n][k][n]);
return 0;
}