文章
37
粉丝
1
获赞
311
访问
5.8k
#include<bits/stdc++.h>
using namespace std;
typedef long long LL;
int main(){
int n;
cin>>n;
LL dp[n+1] = {0};
//dp[i]:i个结点能够组成的二叉树的个数
dp[0] = 1;
dp[1] = 1;
for(int i = 2 ; i <= n; i++){
for(int j = 0 ; j < i; j++){
dp[i] += dp[j] * dp[i-1-j];//一边分配j个另一边分配i-1-j个
}
}
cout<<dp[n]<<endl;
}
登录后发布评论
暂无评论,来抢沙发