回 帖 发 新 帖 刷新版面

主题:[讨论]一道比较难的题

给出一个算式,这个算式里只有数字、+、-、*、/、^五种运算符和小括号,运算符优先级^最高、*/其次、+-最低。小括号可以嵌套,此时内层小括号比外层优先级高。
现要求把这个算式里的无用小括号去掉,所谓无用小括号就是它有没有都不影响算式的运算顺序和结果,再输出去掉无用小括号后的算式。
输入文件ssss.in只有一行,表示这个算式。
输出文件ssss.out也只有一行,表示去掉无用括号后的算式。
[样例输入]
(43+(8*15)-(2^5-4))+(12/6)
[样例输出]
43+8*15-(2^5-4)+12/6

回复列表 (共2个回复)

沙发

枚举每一个括号,判断此括号时候能被去掉

板凳

判断标准:
如果里面只有一个数字那么可去掉
如果外面没有其他内容则可以去掉
其它:
前面(里面)后面
高  低
   低  高 那么需要
否则不必。

我来回复

您尚未登录,请登录后再回复。点此登录或注册