题目描述 Description

同学们都知道二叉树的定义,也都知道3个结点的二叉树有5种,

现给你二叉树的结点个数n,要你编程输出不同形态二叉树的种数。

输入描述 Input Description

一个整数n

输出描述 Output Description

不同形态二叉树的种数。

样例输入 Sample Input

3

样例输出 Sample Output

5

数据范围及提示 Data Size & Hint

n<30

讨论过程:http://www.cnblogs.com/huashanqingzhu/p/5823166.html

http://www.cnblogs.com/hujunzheng/p/5040334.html

 #include <iostream>
using namespace std;
int main()
{
long long n,i;
long long h0=,h1=,h2;
cin>>n;
if(n==||n==) cout<<<<endl;
else
{
for(i=;i<=n;i++)
{
h2=(*i-)*h1/(i+);
h1=h2;
//cout<<h2<<endl;
}
cout<<h2<<endl;
}
return ;
}

另一个做法,思路不谋而合:

何泓历的代码:

 #include <stdio.h>
long long a[]={};
long long fun(int n)
{
if(n==||n==) return ;
long long sum=,i;
for(i=;i<n;i++)
{
if(a[i]==) a[i]=fun(i);
if(a[n--i]==) a[n--i]=fun(n--i);
sum+=a[i]*a[n--i];
}
return sum;
}
int main()
{
int n;
scanf("%d",&n);
printf("%lld\n",fun(n));
return ;
}

codevs 3083 二叉树的更多相关文章

  1. Codevs 1051 二叉树最大宽度和高度

    1501 二叉树最大宽度和高度  时间限制: 1 s  空间限制: 128000 KB  题目等级 : 白银 Silver       题目描述 Description 给出一个二叉树,输出它的最大宽 ...

  2. codevs 3143 二叉树的序遍历

    传送门 Description 求一棵二叉树的前序遍历,中序遍历和后序遍历 Input 第一行一个整数n,表示这棵树的节点个数. 接下来n行每行2个整数L和R.第i行的两个整数Li和Ri代表编号为i的 ...

  3. Codevs 1501 二叉树的最大宽度和高度

    1501 二叉树最大宽度和高度 时间限制: 1 s 空间限制: 128000 KB 题目等级 : 白银 Silver 题目描述 Description 给出一个二叉树,输出它的最大宽度和高度. 输入描 ...

  4. Codevs 3112 二叉树计数

    3112 二叉树计数 题目描述 Description 一个有n个结点的二叉树总共有多少种形态 输入描述 Input Description 读入一个正整数n 输出描述 Output Descript ...

  5. codevs——1501 二叉树最大宽度和高度

    1501 二叉树最大宽度和高度  时间限制: 1 s  空间限制: 128000 KB  题目等级 : 白银 Silver 题解       题目描述 Description 给出一个二叉树,输出它的 ...

  6. codevs 1501 二叉树最大宽度和高度x

                         题目描述 Description 给出一个二叉树,输出它的最大宽度和高度. 输入描述 Input Description 第一行一个整数n. 下面n行每行有两 ...

  7. 2016.6.12 codevs搜索练习

    1.codevs 3143 二叉树的序遍历 /*只要把输出根节点的位置调换一下就可以了*/ #include<iostream> using namespace std; #include ...

  8. Catalan数应用整理

    应用一: codevs 3112 二叉树计数  时间限制: 1 s  空间限制: 128000 KB  题目等级 : 黄金 Gold   题目描述 Description 一个有n个结点的二叉树总共有 ...

  9. 卡特兰数 Catalan 笔记

    一.公式 卡特兰数一般公式 令h(0)=1,h(1)=1,catalan数满足递推式.h(n) = h(0)*h(n-1)+h(1)*h(n-2) + ... + h(n-1)h(0) (n>= ...

随机推荐

  1. 不用中间变量交换两个数 swap(a,b);

    #include <iostream> using namespace std; int main () { ; ; cout<<"a="<<a ...

  2. [leetcode]Edit Distance @ Python

    原题地址:https://oj.leetcode.com/problems/edit-distance/ 题意: Given two words word1 and word2, find the m ...

  3. protobuf Protocol Buffers 简介 案例 MD

    Markdown版本笔记 我的GitHub首页 我的博客 我的微信 我的邮箱 MyAndroidBlogs baiqiantao baiqiantao bqt20094 baiqiantao@sina ...

  4. 如何去除图片上的文字(PS使用教程)

    很多时候由于工作的需要,需要对我们的图片进行修改,修改的同时还想要保存我们的图片背景,所以很多人就不知道怎么弄了,小编跟大家分享一下使用PS如何简单的去掉图片上的文字,希望对大家有所帮助! 方法/步骤 ...

  5. 解决PHP使用CVS导出Excel乱码问题

    在使用PHP生成CVS文件后通过Excel打开发现中文全部变成了乱码,之前在我本地win08通过WPS正常的,但上传到服务器Linux在服务器上测试出现了乱码 一开始以后是Linux的问题但后来测试时 ...

  6. SharePoint CAML Query小结

    CAML的结构. <View Type="HTML" Name="Summary"> <ViewBody ExpandXML="TR ...

  7. 在Excel中输入超过10的带圈数字

    通过改变字体,可以在excel中输入1-20的带圈数字.对于某些人这些还不够用,那怎么办呢? 有了下面这个不知道是哪个大神做的字体,你就可以直接输到100啦 将字体文件文件粘贴至“C:\WINDOWS ...

  8. JavaScript 判断一个对象{}是否为空对象的简单方法

    第一种: function isEmptyObject(obj) { for (var key in obj) { //返回false,不为空对象 return false; } return tru ...

  9. 经典SQL语句--很全面

    经典SQL语句--很全面   一.基础 1.说明:创建数据库CREATE DATABASE database-name 2.说明:删除数据库drop database dbname3.说明:备份sql ...

  10. DELL平板如何安装WIN10系统 -PE启动问题

    开机按F2可以进入BIOS设置,如果你的系统已经被删了,则开机会自动进入检查程序   进入BIOS之后,可以看到如果改成Legancy,默认第一启动方式是Internal HDD   我如果重装系统, ...