22.11 二叉树输出(btout)
题目描述
树的凹入表示法主要用于树的屏幕或打印输出,其表示的基本思想是兄弟间等长,一个结点要不小于其子结点的长度。二叉树也可以这样表示,假设叶结点的长度为1,一个非叶结点的长并等于它的左右子树的长度之和。 一棵二叉树的一个结点用一个字母表示(无重复),输出时从根结点开始: 每行输出若干个结点字符(相同字符的个数等于该结点长度),如果该结点有左子树就递归输出左子树;如果该结点有右子树就递归输出右子树。 假定一棵二叉树一个结点用一个字符描述,现在给出先序和中序遍历的字符串,用树的凹入表示法输出该二叉树。
输入格式
输入文件btout.in共两行,每行是由字母组成的字符串(一行的每个字符都是唯一的),分别表示二叉树的先序遍历和中序遍历的序列。
输出格式
输出文件btout.out的行数等于该树的结点数,每行的字母相同。
输入样例
ABCDEFG
CBDAFEG
输出样例
AAAA
BB
C
D
EE
F
G
#include <bits/stdc++.h>using namespace std;string s1, s2;
int i = -1;
int a[100];int tree(int l, int r){int k = ++i;int tree_ = 0;int mid = s2.find(s1[k]);if(mid != l){tree_ += tree(l, mid - 1);}if(mid != r){tree_ += tree(mid + 1, r);}if(l == r){tree_ = 1;}a[s1[k]] = tree_;return tree_;
}int main(){getline(cin, s1);getline(cin, s2);tree(0, s2.size() - 1);for(int i = 0; i < s1.size(); i++){for(int j = 1; j <= a[int(s1[i])]; j++){printf("%c", s1[i]);}printf("\n");}return 0;
}
22.11 二叉树输出(btout)相关推荐
- 信息学奥赛一本通 1366:二叉树输出(btout)
[题目链接] ybt 1366:二叉树输出(btout) [题目考点] 1. 二叉树 [解题思路] 该题意为:为每个结点都设一个长度:叶结点的长度为1,一个非叶结点的长度等于它的左右子树的长度之和. ...
- 二叉树输出(凹入表示法)
二叉树输出(凹入表示法) 题目描述 1598: 二叉树输出 时间限制:1 Sec 内存限制: 128 MB 提交:8 解决: 8 [提交][状态][讨论版] 题目描述 树的凹入表示法主要用于 ...
- 习题4.11 编程输出如下的数字图案:1 3 6 10 15
Java程序设计基础(第5版) 陈国君 清华大学出版社 个人设计 习题4.11 编程输出如下的数字图案: 1 3 6 10 15 2 5 9 14 4 8 13 7 12 11 代码块: packag ...
- AMD发布22.11.1驱动,支持《使命召唤:战区2.0》
他来了他来了,带着迷人的脚步走来了! <使命召唤:战区2.0>正式上线了.有Steam周榜三连冠的<使命召唤19>在前,<战区2.0>可以说是备受瞩目,免费大逃杀, ...
- AMD发布22.11.2驱动,支持《极品飞车:不羁》等游戏
12月又来新驱动!AMD发布肾上腺素版22.11.2显卡驱动,支持今日发布的<极品飞车:不羁>,第三人称生存恐怖游戏<木卫四协议>,以及即将在12月14日发布的<巫师 3 ...
- STM32CUBEIDE(11)----输出PWM及修改PWM频率与占空比
STM32CUBEIDE.11----输出PWM及修改PWM频率与占空比 概述 样品申请 视频教学 csdn课程 生成例程 工作过程 __HAL_TIM_SET_COMPARE() 最后 修改PWM频 ...
- 一起来看看AMD最新显卡驱动22.11.1!
AMD最新推出了显卡驱动22.11.1,可以支持新上线的使命召唤:战区2,并且还修复了一系列的问题,AMD忠实用户们期待了嘛~ 更新内容 支持 使命召唤®:战区 2.0 漫威蜘蛛侠:迈尔斯·莫拉莱斯™ ...
- HALCON 22.11来了
Halcon发布了最新的 HALCON 22.11 版本提供永久版和订阅版,可以到下面的链接下载: https://www.mvtec.com/cn/downloads/halcon 1 最新功能 ...
- 一周信创舆情观察(11.22~11.28)
一.一周舆情要点 近日,央行发布关于加强支付受理终端及相关业务管理的通知.从支付受理终端业务管理.特约商户管理.收单业务监测三个方面入手,对收单机构和清算结构提出了一系列的管理要求.与此同时,条码支付 ...
最新文章
- wordpressPHP实现ajax评论,AJAX_wordpress 为主题添加AJAX提交评论功能的php代码,首先需要在主题的function.php文 - phpStudy...
- 在AFN中使用NSXMLParser解析服务器返回的XML数据
- 七牛云存储Python SDK使用教程 - 上传策略详解
- VS2019正确创建C++步骤以及扩展插件美化你的VS2019的IDE开发环境
- Android BroadcastReceiver,广播与进程通讯,APK安装广播,获取已安装列表
- 02-go的IDE安装
- K8S+KubeSphere之Helm安装
- mvc+ef中比较数据
- Sql Server日期格式化
- 前景检测算法(六)--平均背景原理
- mysql知识点拾遗梳理
- LNMP详解(十五)——Nginx日志分析实战
- twisted系列教程二–缓慢的诗
- MongoDB 学习笔记(一):安装及简单shell操作
- linux离线安装pg数据库
- Mysql 免安装配置
- ARM Linux从Bootloader、kernel到filesystem启动流程
- 简单的neo4j三元组增量插入-通过py2neo实现
- 雪花飘落代码java_JS实现的雪花飘落特效示例
- 自动复制吱口令html,使用clipboard.js实现复制吱口令功能的示例代码