小慕正在设计一个自定义表达式计算器,其中唯一的语法规则是括号必须正确配对。表达式的格式为 ( P1 P2 …),括号内各元素之间用单个空格分隔。第一个元素 OP 是操作符,后面的元素都是它的参数,参数个数由操作符类型决定。 注意:参数 P1 和 P2 本身也可能是另一个的 (OP P1 P2 …) 表达式。当前支持的操作符类型有 add / sub / mul / div(全小写),分别表示整数的加、减、乘、除。为简化问题,所有操作符的参数个数均为 2。 举例: - 输入:(mul 3 - 7) 输出: -21 - 输入:(add 1 2) 输出:3 - 输入:(sub(mul 2 4) (div 9 3)) 输出:5 - 输入:(div 1 0) 输出:error 题目中涉及的所有数字均为整数,可能为负;不考虑 32 位整数的溢出翻转,计算过程中也不会发生 32 位溢出翻转。当出现除零错误时,输出 "error"。除法遇到除不尽的情况,,例如 3 / 2 = 1。
提示:带虚线的词点一下有通俗解释。
输入描述
输入为长度不超过 512 的字符串,用例保证了无语法错误
输出描述
输出计算结果或者"error"
示例
示例 1
输入
(div 12 (sub 45 45))
输出
error
示例 2
输入
(add 1 (div -7 3))
输出
-2
时间限制 1000 ms · 内存限制 128 MB