codevs 3083 二叉树

简介: 题目描述 Description同学们都知道二叉树的定义,也都知道3个结点的二叉树有5种,现给你二叉树的结点个数n,要你编程输出不同形态二叉树的种数。输入描述 Input Description一个整数n输出描述 Output Description不同形态二叉树的种数。
题目描述 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

 1 #include <iostream>
 2 using namespace std;
 3 int main()
 4 {
 5     long long n,i;
 6     long long h0=1,h1=1,h2;
 7     cin>>n;
 8     if(n==0||n==1) cout<<1<<endl;
 9     else
10     {
11         for(i=2;i<=n;i++)
12         {
13             h2=(4*i-2)*h1/(i+1);
14             h1=h2;
15             //cout<<h2<<endl;
16         }
17         cout<<h2<<endl;
18     }
19     return 0;
20 }

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

何泓历的代码:

 1 #include <stdio.h>
 2 long long a[21]={0};
 3 long long fun(int n)
 4 {
 5     if(n==1||n==0) return 1;
 6     long long sum=0,i;
 7     for(i=0;i<n;i++)
 8     {
 9         if(a[i]==0) a[i]=fun(i);
10         if(a[n-1-i]==0) a[n-1-i]=fun(n-1-i);
11         sum+=a[i]*a[n-1-i];
12     }
13     return sum;
14 }
15 int main()
16 {
17     int n;
18     scanf("%d",&n);
19     printf("%lld\n",fun(n));
20     return 0;
21 }

 

 

 

相关文章
|
Linux 异构计算 Windows
Windows操作系统:指定网卡ping连通性
某些时候,板卡上留有两个及以上万兆网口,在没有其他FPGA板卡或者只是想测一下网口或者万兆光模块的通路时,可以通过回环互ping来验证下连通性
4058 0
|
iOS开发 MacOS Windows
Axure快速入门(03) - 丰富的元件库
Axure快速入门(03) - 丰富的元件库
1537 0
Axure快速入门(03) - 丰富的元件库
|
存储 监控 安全
大厂案例 - 腾讯万亿级 Elasticsearch 架构实践1
大厂案例 - 腾讯万亿级 Elasticsearch 架构实践
405 0
|
7月前
|
安全 网络协议 网络安全
当虚拟机出现网络连接问题时,应该先检查Hyper-V的网卡连接配置
当虚拟机出现网络连接问题时,应首先检查Hyper-V的网卡配置。具体步骤包括:确认虚拟机运行状态、检查虚拟交换机类型和物理网卡连接、确保虚拟机网络适配器正确连接到虚拟交换机,并验证网络配置(IP地址等)。常见问题如虚拟交换机配置错误、网络适配器未连接或防火墙阻止连接,可通过重新配置或调整设置解决。必要时重启虚拟机和宿主机,查看事件日志或联系技术支持以进一步排查问题。
|
JavaScript 前端开发
react Or vue中引入animate.css
本文介绍了如何在React或Vue项目中引入animate.css库来使用动画效果,包括通过npm安装或在线链接引入,并展示了如何在React组件和Vue路由过渡中使用动画类。
294 0
|
存储 算法 前端开发
【FPGA学习篇】认识Robei(一)
【FPGA学习篇】认识Robei(一)
364 1
|
数据处理 计算机视觉 芯片
【头歌·计组·自己动手画CPU】二、运算器设计(讲解版) 【计算机硬件系统设计】
【头歌·计组·自己动手画CPU】二、运算器设计(讲解版) 【计算机硬件系统设计】
485 2
|
Ubuntu Shell
蓝易云 - ubuntu修改默认文件权限umask
以上就是在Ubuntu中修改默认文件权限umask的方法。
253 0
|
存储 缓存 Java
简单介绍一下什么是“工作内存”和“主内存”(JMM中的概念)
该文介绍了Java多线程中`volatile`关键字确保内存可见性的概念。
266 0
|
关系型数据库 MySQL API
微服务框架 go-zero 快速实战
微服务框架 go-zero 快速实战
628 1