时间限制: 1000 ms 空间限制: 262144 KB 具体限制
n个相同结点构成的二叉树有多少种?如3个结点的二叉树有以下5种:
第一行输入n(1<=n<=30),表示结点数。
输出一个整数表示二叉树的种数。
3
5
1<=n<=30
1 #include<iostream>
2 using namespace std;
3 long long int f[1001];
4 int main()
5 {
6 int n;
7 f[2]=1;
8 f[3]=1;
9 cin>>n;
10 n=n+2;
11 for(int i=4;i<=n;i++)
12 {
13 for(int j=2;j<=n-1;j++)
14 {
15 f[i]=f[j]*f[i-j+1]+f[i];
16 }
17 }
18 cout<<f[n];
19 return 0;
20 }