Pagini recente » Cod sursa (job #1778503) | Cod sursa (job #2109566) | Cod sursa (job #2008921) | Cod sursa (job #1839849) | Cod sursa (job #1994551)
#include <bits/stdc++.h>
#define Nmax 101
#define ll long long
using namespace std;
ifstream f("arbori.in");
ofstream g("arbori.out");
ll a[Nmax][Nmax][Nmax];
ll fct=1,n,m,k;
ll rez(int x, int y)
{
ll val=y==1?1:a[y][(k+m-1)%m][n];
if(x)
{
fct*=(x+val-1);
fct/=x;
}
else fct=1;
return fct;
}
int main()
{
int i,j,t,con,p;
f>>n>>m>>k;
for(i=0;i<=n;i++)
a[1][0][i]=1;
for(i=2;i<=n;i++)
{
a[i][(i-1)%m][1]=1;
for(con=0;con<m;con++)
{
j=con%m;
for(t=2;t<=n;t++)
for(p=0;p*t<i;p++) a[i][j][t]+=(a[i-(p*t)][(j-p+100*m)%m][t-1]*rez(p,t));
}
}
g<<a[n][k][n];
return 0;
}