1180. 二叉树计数

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 }

 

posted @ 2017-04-05 18:49  自为风月马前卒  阅读(369)  评论(0编辑  收藏  举报

Contact with me