【牛客 C】hor5. 二叉树

目录

题目

解法一


题目

待添加

解法一

cpp 复制代码
#include <stdio.h>

int main(void) {
    int num, height;
    scanf("%d %d", &num, &height);

    const int mod = 1000000007;

    long dp[num + 1];
    for (int j = 1; j <= num; j++) {
        dp[j] = 0;
    }
    dp[0] = 1;

    for (int i = 1; i <= height; i++) {
        for (int j = num; j >= 1; j--) {
            dp[j] = 0;
            for (int k = 0; k < j; k++) {
                dp[j] = (dp[j] + dp[k] * dp[j - k - 1] % mod) % mod;
            }
        }
    }
    printf("%ld", dp[num]);

    return 0;
}