算法设计:对于给定的字符串,计算有多少种不同的加括号方式,使由x导出的加括号表达式的值为a.
数据输入:由文件input.txt提供输入数据.文件的第1行中给出一个字符串.
结果输出;将计算结果输出到文件output.txt文件的第1行中的数是计算出的加括号方式数.
后缀表达式 Description 为了便于处理表达式,常常将普通表达式(称为中缀表示)转换为后缀{运算符在后,如X/Y写为XY/表达式。在这样的表示中可以不用括号即可确定求值的顺序,如:(P+Q)*(R-S) → PQ+RS-*。后缀表达式的处理过程如下:扫描后缀表达式,凡遇操作数则将之压进堆栈,遇运算符则从堆栈中弹出两个操作数进行该运算,将运算结果压栈,然后继续扫描,直到后缀表达式被扫描完毕为止,此时栈底元素即为该后缀表达式的值。 输入一个中缀表达式,编程输出其后缀表达式,要求输出的后缀表达式的运算次序与输入的中缀表达式的运算次序相一致。为简单起见,假设输入的中缀表达式由+(加)、-(减)、×(乘)、/(除)四个运算符号以及左右圆括号和英文字母组成,其中算术运算符遵守先乘除后加减的运算规则。假设输入的中缀表达式长度不超过200个字符,且都是正确的,即没有语法错误,并且凡出现括号其内部一定有表达式,即内部至少有一个运算符号。 Input 若干行,每行对应一个中缀表达式 Output 若干行,每行对应一个由中缀表达式转换而来的后缀表达式 Sample Input X+A*(Y-B)-Z/F A+B*C+(D*M-N)+(S-T)*Y A-B*C+(D-E*F)/G Sample Output XAYB-*+ZF/- ABC*+DM*N-+ST-Y*+
为了保护您的账号安全,请在“简答题”公众号进行验证,点击“官网服务”-“账号验证”后输入验证码“”完成验证,验证成功后方可继续查看答案!