1255. Brackets sequence

单点时限: 2.0 sec

内存限制: 256 MB

Let us define a regular brackets sequence in the following way:

  1. Empty sequence is a regular sequence.
  2. If $S$ is a regular sequence, then $(S)$ and $[S]$ are both regular sequences.
  3. If $A$ and $B$ are regular sequences, then $AB$ is a regular sequence.

For example, all of the following sequences of characters are regular brackets sequences:
(), [], (()), ([]), ()[], ()[()]

And all of the following character sequences are not:
(, [, ), )(, ([)], ([(]

Some sequence of characters ‘(‘, ‘)’, ‘[‘, and ‘]’ is given. You are to find the shortest possible regular brackets sequence, that contains the given character sequence as a subsequence. Here, a string $a_1a_2\ldots a_n$ is called a subsequence of the string $b_1b_2 \ldots b_m$, if there exist such indices $1 \le i_1 < i_2 < \cdots < i_n \le m$, that $a_j=b_{i_j}$ for all $1 \le j \le n$.

输入格式

The input file contains at most 100 brackets (characters ‘(‘, ‘)’, ‘[‘ and ‘]’) that are situated on a single line without any other characters among them.

输出格式

Write to the output file a single line that contains some regular brackets sequence that has the minimal possible length and contains the given sequence as a subsequence.

样例

Input
([(]
Output
()[()]

18 人解决,22 人已尝试。

32 份提交通过,共有 64 份提交。

4.3 EMB 奖励。

创建: 13 年,4 月前.

修改: 2 年,10 月前.

最后提交: 8 月,3 周前.

来源: NEERC

题目标签
DP