2019E0_E Zexal的二叉樹

Zexal的二叉樹

題目

知識點:樹,數論,dp,遞歸(都可以做)

上學期我們學習了二叉樹,也都知道3個結點的二叉樹有5種, 現給你二叉樹的結點個數n,要你輸出不同形態二叉樹的種數。

輸入

第一個數爲一個整數n(n<=30)

輸出

對於每組數據,輸出一行,不同形態二叉樹的種數。

輸入樣例

3

輸出樣例

5

思路

卡特蘭數

代碼

#include<cstdio>
typedef long long ll;
using namespace std;
ll f[32];
int main(){
    int i,j,n;
    f[1]=f[0]=1;
    for(i=2;i<=30;i++)
        for(j=0;j<i;j++)
            f[i]+=f[j]*f[i-j-1];
    scanf("%d",&n);
    printf("%lld",f[n]);
    return 0;
}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章