QDUOJ 43 - 我也想学数据结构(感谢cqupt...(AVL树最小节点数)

我也想学数据结构(感谢cqupt…
发布时间: 2015年11月8日 22:31 最后更新: 2015年11月8日 22:33 时间限制: 1000ms 内存限制: 128M

描述
NotDeep一直不擅长数据结构,于是找来slowlight帮助他。slowlight于是就从二叉平衡树讲起(纳尼?!)

平衡二叉树(Balanced Binary Tree)具有以下性质的一种树:它是一棵空树或它的左右两个子树的高度差的绝对值不超过1,并且左右两个子树都是一棵平衡二叉树

讲完了slowlight就给NotDeep出了一道练习题:一棵高度为h的二叉平衡树,它的节点数最少为多少?NotDeep表示依然难得令人发指,于是请你借助编程来帮帮他。

输入
输入数据有多组,每组一行,包括一个整数h (0<= h <= 1000)

输出
对于每个测试实例,要求输出一个答案,即最少的节点数。每个输出占一行。答案可能很大,答案需要对2015取模。

样例输入1 复制
1
2
100
样例输出1
1
2
360

高为h的AVL树的最小节点数:
F(h) = F(h-1)+F(h-2) + 1
F(0) = 0
F(1) = 1

AC代码

#include<stdio.h>
int qdu[1001];
int init()
{
    qdu[1] = 1;
    for(int i = 2;i <= 1000;i++)    qdu[i] = (qdu[i-1] + qdu[i-2] + 1);
    return 0;
}
int main()
{
    int n;
    init();
    //for(int i = 0;i <= 10;i++) printf("%d ",qdu[i]); return 0;
    while(~scanf("%d",&n))  printf("%d\n",qdu[n]);
    return 0;
}
1)编写一个程序:以读写方式打开文件'test.txt',要求编码格式为encoding='utf-8',请向该文件写入以下内容: 姓名:XXX 学号:XXXXXXX 专业:会计学 通讯地址:CQUPT, Road 2, Chongwen 电话号码:023-62641000 邮箱:对应学号@cqupt.edu.cn 考试IP地址:生成的一个随机IP字段,具体为172.25.254.1/32。例如,172.25.254.32 若一个人年龄小于2岁,则打印显示:他是婴儿; 若一个人年龄2(含)~4岁,则打印显示:他是幼儿; 若一个人年龄4(含)~13岁,则打印显示:他是儿童; 若一个人年龄13(含)~20岁,则打印显示:他是青少年; 若一个人年龄20(含)~60岁,则打印显示:他是成年人; 若一个人年龄超过60(含)岁,则打印显示:他是老年人。 并读取所有行的内容,最后关闭文件。 (2)编写一个程序:以读写方式打开文件'test.txt',要求编码格式为encoding='utf-8',请向该文件写入以下内容: 姓名:XXX 学号:XXXXXXX 专业:会计学 通讯地址:CQUPT, Road 2, Chongwen 电话号码:023-62641000 邮箱:对应学号@cqupt.edu.cn 考试IP地址:生成的一个随机IP字段,具体为172.25.254.1/32。例如,172.25.254.32 若考试成绩小于0或大于100,则打印显示:成绩输入错误,请重新输入: 若考试成绩小于60,则打印显示:分等级为E级; 若考试成绩小于70,则打印显示:分等级为D级; 若考试成绩小于80,则打印显示:分等级为C级; 若考试成绩小于90,则打印显示:分等级为B级; 若考试成绩小于等于100,则打印显示:分等级为A级。 并读取所有行的内容,最后关闭文件。
06-10
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值