Pagini recente » Cod sursa (job #1309619) | Cod sursa (job #2495164) | Cod sursa (job #988090) | Cod sursa (job #1870038) | Cod sursa (job #2629414)
#include <fstream>
using namespace std;
ifstream cin("arbori.in");
ofstream cout("arbori.out");
typedef long long ll;
ll n,m,k,ans;
ll dp[100][100];
ll tot[100];
int main()
{
cin>>n>>m>>k;
tot[1]=1;
dp[1][0]=1;
for(ll subg=1;subg<n;++subg)
for(ll card=subg+1;card<=n;++card)
for(ll app=1;app<n;++app)
{
dp[card][app]+=dp[card-subg][app-1]*tot[subg];
if((app+1)%m==k) tot[card]+=dp[card][app];
}
if(k==0) k=m;
for(int i=k;i<n;i+=m)
ans+=dp[n][i];
cout<<ans<<'\n';
return 0;
}