题目描述

树的凹入表示法主要用于树的屏幕或打印输出,其表示的基本思想是兄弟间等长,一个结点要不小于其子结点的长度。二叉树也可以这样表示,假设叶结点的长度为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)相关推荐

  1. 信息学奥赛一本通 1366:二叉树输出(btout)

    [题目链接] ybt 1366:二叉树输出(btout) [题目考点] 1. 二叉树 [解题思路] 该题意为:为每个结点都设一个长度:叶结点的长度为1,一个非叶结点的长度等于它的左右子树的长度之和. ...

  2. 二叉树输出(凹入表示法)

     二叉树输出(凹入表示法) 题目描述 1598: 二叉树输出 时间限制:1 Sec  内存限制: 128 MB 提交:8  解决: 8 [提交][状态][讨论版] 题目描述 树的凹入表示法主要用于 ...

  3. 习题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 ...

  4. AMD发布22.11.1驱动,支持《使命召唤:战区2.0》

    他来了他来了,带着迷人的脚步走来了! <使命召唤:战区2.0>正式上线了.有Steam周榜三连冠的<使命召唤19>在前,<战区2.0>可以说是备受瞩目,免费大逃杀, ...

  5. AMD发布22.11.2驱动,支持《极品飞车:不羁》等游戏

    12月又来新驱动!AMD发布肾上腺素版22.11.2显卡驱动,支持今日发布的<极品飞车:不羁>,第三人称生存恐怖游戏<木卫四协议>,以及即将在12月14日发布的<巫师 3 ...

  6. STM32CUBEIDE(11)----输出PWM及修改PWM频率与占空比

    STM32CUBEIDE.11----输出PWM及修改PWM频率与占空比 概述 样品申请 视频教学 csdn课程 生成例程 工作过程 __HAL_TIM_SET_COMPARE() 最后 修改PWM频 ...

  7. 一起来看看AMD最新显卡驱动22.11.1!

    AMD最新推出了显卡驱动22.11.1,可以支持新上线的使命召唤:战区2,并且还修复了一系列的问题,AMD忠实用户们期待了嘛~ 更新内容 支持 使命召唤®:战区 2.0 漫威蜘蛛侠:迈尔斯·莫拉莱斯™ ...

  8. HALCON 22.11来了

    Halcon发布了最新的 HALCON 22.11 版本提供永久版和订阅版,可以到下面的链接下载: https://www.mvtec.com/cn/downloads/halcon 1 最新功能   ...

  9. 一周信创舆情观察(11.22~11.28)

    一.一周舆情要点 近日,央行发布关于加强支付受理终端及相关业务管理的通知.从支付受理终端业务管理.特约商户管理.收单业务监测三个方面入手,对收单机构和清算结构提出了一系列的管理要求.与此同时,条码支付 ...

最新文章

  1. wordpressPHP实现ajax评论,AJAX_wordpress 为主题添加AJAX提交评论功能的php代码,首先需要在主题的function.php文 - phpStudy...
  2. 在AFN中使用NSXMLParser解析服务器返回的XML数据
  3. 七牛云存储Python SDK使用教程 - 上传策略详解
  4. VS2019正确创建C++步骤以及扩展插件美化你的VS2019的IDE开发环境
  5. Android BroadcastReceiver,广播与进程通讯,APK安装广播,获取已安装列表
  6. 02-go的IDE安装
  7. K8S+KubeSphere之Helm安装
  8. mvc+ef中比较数据
  9. Sql Server日期格式化
  10. 前景检测算法(六)--平均背景原理
  11. mysql知识点拾遗梳理
  12. LNMP详解(十五)——Nginx日志分析实战
  13. twisted系列教程二–缓慢的诗
  14. MongoDB 学习笔记(一):安装及简单shell操作
  15. linux离线安装pg数据库
  16. Mysql 免安装配置
  17. ARM Linux从Bootloader、kernel到filesystem启动流程
  18. 简单的neo4j三元组增量插入-通过py2neo实现
  19. 雪花飘落代码java_JS实现的雪花飘落特效示例
  20. 自动复制吱口令html,使用clipboard.js实现复制吱口令功能的示例代码

热门文章

  1. 类选择器和搭配使用伪类选择器
  2. 截图翻译哪个比较好?这三个软件推荐给你
  3. 微信老是不能登录服务器错误,微信登录失败报错“4-100”的原因及解决办法
  4. 数据库中INT类型概述
  5. 无线信道之小尺度衰落中的快衰落和慢衰落(六)
  6. shader Blend混合模式讲解
  7. html java编辑器插件,5+用Java编写的最佳代码编辑器插件
  8. 小白的OpenGL3.3自学之路(3)OpenGL3.3之如何绘制一个三角形
  9. C语言初探 之 printf压栈顺序
  10. 玩转群晖NAS——前言