1130 Infix Expression (25 分)

Given a syntax tree (binary), you are supposed to output the corresponding infix expression, with parentheses reflecting the precedences of the operators.

Input Specification:

Each input file contains one test case. For each case, the first line gives a positive integer N (≤ 20) which is the total number of nodes in the syntax tree. Then N lines follow, each gives the information of a node (the i-th line corresponds to the i-th node) in the format:

data left_child right_child

where data is a string of no more than 10 characters, left_child and right_child are the indices of this node's left and right children, respectively. The nodes are indexed from 1 to N. The NULL link is represented by −1. The figures 1 and 2 correspond to the samples 1 and 2, respectively.

Figure 1 Figure 2

Output Specification:

For each case, print in a line the infix expression, with parentheses reflecting the precedences of the operators. Note that there must be no extra parentheses for the final expression, as is shown by the samples. There must be no space between any symbols.

Sample Input 1:

8
* 8 7
a -1 -1
* 4 1
+ 2 5
b -1 -1
d -1 -1
- -1 6
c -1 -1

Sample Output 1:

(a+b)*(c*(-d))

Sample Input 2:

8
2.35 -1 -1
* 6 1
- -1 4
% 7 8
+ 2 3
a -1 -1
str -1 -1
871 -1 -1

Sample Output 2:

(a*2.35)+(-(str%871))

题目大意:给出一个二叉树,-1表示没有子节,要求输出对应的中缀树,并且对这个运算顺序加上括号。

//输出中缀树就比较简单了,但是这个需要加上括号,我是真的不会。好难啊。

//看了柳神的解答,学习了!

1.学习了dfs,这个对我来说一直都很难。

2.怎样去找root。使用标记。

最新文章

  1. 【个人使用.Net类库】(3)Excel文件操作类(基于NPOI)
  2. convert jar to java
  3. Linux Bash代码 利用for循环实现命令的多次执行
  4. MVC小系列(七)【分部视图中的POST】
  5. 判断iPhone/android手机
  6. PowerShell:因为在此系统上禁止运行脚本
  7. 【OGG】OGG基础知识整理
  8. VxWorks6.6 pcPentium BSP 使用说明(一):基本概念
  9. ElasticSearch - 信息聚合系列之聚合过滤
  10. centos7升级系统内核
  11. OpenWrt路由器通过LuCI界面实现Guest SSID功能
  12. SQL0668N 不允许对表"xxx"执行操作,原因码为 "1"
  13. sql 单表查询练习
  14. 当今最流行的Web项目管理工具精选
  15. Elastic-Job - 分布式定时任务框架
  16. 【docker】docker下安装mysql
  17. js 自定义事件观察者模式(发布/订阅)
  18. 正则表达式 preg_match 匹配中文
  19. scala 实现日期运算
  20. PowerDesigner16 状态图

热门文章

  1. js和jquery获取屏幕的高度
  2. ThinkPHP项目笔记之RBAC(权限)中篇
  3. RabbitMQ组成及原理介绍-3
  4. ios开发之 -- invalid nib registered for identifier
  5. 调用组件的C++代码
  6. 调用PostgreSQL存储过程,找不到函数名的问题
  7. 如何改变placeholder的样式
  8. JZOJ.5315【NOIP2017模拟8.19】小串串
  9. android EditText自动弹出和自动关闭软键盘
  10. Android遍历SqlLite cursor对象: