中缀表达式也可以看成一颗二叉树,这棵二叉树的各个结点要么表示四则运算+、-、*、/,要么表示一个非负整数。给出一个表达式树的结点信息,请输出中缀表达式以及该表达式的计算结果。
输入格式:
只包含一组数据:
第一行一个正整数N(N<=30),代表二叉树的结点个数(结点编号为1到N)。
第二行按结点编号从小到大的顺序给出N个结点的值(用空格隔开),其要么是四则运算符+、-、*、/的其中一个,要么是一个非负整数。
接下来按结点编号从小到大的顺序给出N行,每行为两个编号,分别代表该结点的左孩子编号和右孩子编号,如果不存在左(右)孩子,那么就用字符'-'代替。数据保证编号在1到N之间,且中缀表达式树一定是合法的。
输出格式:
输出一行,即所求的中缀表达式与对应的计算结果(精度保留两位小数),表达式与计算结果之间用空格隔开。
注意输出的中缀表达式中不允许有空格。数据保证中缀表达式合法,且计算过程中不会出现除数为0的情况。
限制:
空间限制:128MByte
时间限制:1秒
样例:
输入:
5
* 31