AT_colopl2018_final_b 異世界数式
题目描述
你正在玩一个异世界的商店经营模拟游戏。在这个异世界中,四则运算的表达方式与普通世界不同。
通常情况下,我们用中缀记法书写运算表达式,例如 $1+2+3$ 或 $10/5$,但在这个世界中,四则运算使用类似函数调用的形式。例如,上述例子对应的表达式分别为 `+(1,2,3)` 和 `/(10,5)`。
更严格地说,这个世界中的表达式可以是简单的数字序列,或者在运算符(`+`、`-`、`*`、`/` 四者之一)后紧接着出现左括号 `(`,括号内包含由逗号 `,` 分隔的若干表达式,最后以右括号 `)` 结尾。在括号内出现的表达式个数,对于加法和乘法(`+`、`*`)时,数量可以是 $1$ 个或更多;对于减法和除法(`-`、`/`)时,必须恰好是 $2$ 个。
例如,`0123`、`+(10,*(20,30),-(40,50))`、`*(5)` 都是合法的表达式。而 `+((1))`、`-(5)` 并不是合法的表达式。
现给定一个异世界的表达式字符串 $S$,请将其转换为普通(中缀记法的)数学表达式。转换后的表达式需满足如下要求:
- 转换后的表达式中括号的位置和数量必须与原表达式对应。例如,`+(1,-(2,3))` 必须转换为 `(1+(2-3))`,`*(5)` 必须转换为 `(5)`。
- 表达式中的数字须原样输出,包括前导的 $0$。
- 输出中不得包含多余的空格。例如,`+(1,2)` 不能转换为 `(1 + 2)`,而应为 `(1+2)`。
更多细节请参见输入输出示例。
输入格式
输入为一行,格式如下:
> $S$
输出格式
请将转换后的表达式输出为一行。
说明/提示
### 限制条件
- $1 \leq |S| \leq 10^5$
- 字符串 $S$ 仅包含运算符(`+`、`-`、`*`、`/`)、括号(`(`、`)`)、逗号(`,`)、数字,且保证是一个合法的异世界表达式。
### 样例解释 2
请特别注意括号的位置和数量。
### 样例解释 4
表达式中出现的数字没有明确的上限。请注意,数字可能带有前导 $0$,且需要原样输出。
由 ChatGPT 5 翻译