QOJ.ac

QOJ

Limite de temps : 1 s Limite de mémoire : 256 MB Points totaux : 100

#11491. 减号

Statistiques

减法运算不满足结合律,例如 $(5 - 2) - 1 = 2$,而 $5 - (2 - 1) = 4$,因此 $5 - 2 - 1$ 的值取决于减法的执行顺序。在没有括号的情况下,约定从左向右执行运算,即 $5 - 2 - 1$ 表示 $(5 - 2) - 1$。

给定一个形如 $$x_1 \pm x_2 \pm \dots \pm x_n$$ 的表达式,其中 $\pm$ 表示 $+$(加号)或 $-$(减号),$x_1, x_2, \dots, x_n$ 表示互不相同的变量。我们希望在形如 $$x_1 - x_2 - \dots - x_n$$ 的表达式中添加括号,使其与原表达式等价。

例如,若要得到与 $$x_1 - x_2 - x_3 + x_4 + x_5 - x_6 + x_7$$ 等价的表达式,我们可以在 $$x_1 - x_2 - x_3 - x_4 - x_5 - x_6 - x_7$$ 中添加括号,例如: $$((x_1 - x_2) - (x_3 - x_4 - x_5)) - (x_6 - x_7)$$

注意:括号内不包含任何变量或仅包含一个变量的括号形式是不允许的。

编写一个程序,完成以下任务: 读取给定表达式 $x_1 \pm x_2 \pm \dots \pm x_n$ 的描述; 确定如何在 $x_1 - x_2 - \dots - x_n$ 中添加括号,以使其与原表达式等价;最多可以使用 $n - 1$ 对括号; * 将该添加方式输出。

输入格式

第一行包含一个整数 $n$ ($2 \le n \le 1\,000\,000$),表示表达式中变量的数量。接下来的 $n - 1$ 行,每行包含一个字符,即 $+$ 或 $-$。第 $i$ 行的字符表示原表达式中 $x_i$ 和 $x_{i+1}$ 之间的运算符。

输出格式

程序应在标准输出的第一行打印所需的括号添加方式。仅需输出括号和减号(中间不含空格),忽略变量 $x_1, x_2, \dots, x_n$。你可以假设对于给定的测试数据,解总是存在的。如果存在多种可能的解,输出其中任意一种即可。

样例

输入格式 1

7
-
-
+
+
-
+

输出格式 1

((-)-(--))-(-)

Discussions

About Discussions

The discussion section is only for posting: General Discussions (problem-solving strategies, alternative approaches), and Off-topic conversations.

This is NOT for reporting issues! If you want to report bugs or errors, please use the Issues section below.

Open Discussions 0
No discussions in this category.

Issues

About Issues

If you find any issues with the problem (statement, scoring, time/memory limits, test cases, etc.), you may submit an issue here. A problem moderator will review your issue.

Guidelines:

  1. This is not a place to publish discussions, editorials, or requests to debug your code. Issues are only visible to you and problem moderators.
  2. Do not submit duplicated issues.
  3. Issues must be filed in English or Chinese only.
Active Issues 0
No issues in this category.
Closed/Resolved Issues 0
No issues in this category.