Pagini recente » Cod sursa (job #417208) | Cod sursa (job #3272362) | Cod sursa (job #3295039) | Cod sursa (job #3285886) | Cod sursa (job #2772941)
#include <iostream>
#include <fstream>
using namespace std;
ifstream fin ("arbori.in");
ofstream fout ("arbori.out");
int main()
{
int n, m, k, i, j, it;
long long dp[100][100] = {};
long long dpa[100] = {};
fin >> n >> m >> k;
dpa[1] = 1;
dp[0][0] = 1;
for (i = 1; i<=n; i++)
dp[i][i] = 1;
for (i = 2; i<=n; i++)
{
for (j = (k - (i != n) <= 0); j*m+k - (i != n) < i; j++)
dpa[i] = dpa[i] + dp[j*m+k - (i != n)][i-1];
for (j = 1; j<=n; j++)
for (it = i; it<=n; it++)
dp[j][it] = dp[j][it] + dp[j-1][it-i] * dpa[i];
}
fout << dpa[n];
return 0;
}