180. 二叉树计数 (Standard IO)
时间限制:
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 }