Cod sursa(job #2772941)

Utilizator popoviciAna16Popovici Ana popoviciAna16 Data 3 septembrie 2021 14:41:04
Problema Arbori Scor 0
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.68 kb
#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;
}