AT_past202004_j 文字列解析
题目描述
给定一个由英文小写字母、`(`和`)`组成的字符串 $s$,请将 $s$ 重复执行以下操作后输出:
- 对于字符串 $a$ 和 $b$,令 $rev(a)$ 为翻转 $a$ 之后得到的字符串,$a+b$ 为将 $a$ 和 $b$ 按 $a$ 先 $b$ 后的顺序串联起来后的字符串。
- 若发现 $s$ 有一连续子串满足:形式为`(`$+a+$`)`($a$ 为不含`(`和`)`的字符串),则将该子串用 $a+rev(a)$ 替换。
全部操作完成后的 $s$ 长度不会大于 $1000$,且不含`(`和`)`。
输入格式
一行一个字符串 $s$。
输出格式
输出所有操作完成后的字符串 $s$。
### 约束条件
$1 \le |s| \le 1000$;
说明/提示
### 注意
この問題に対する言及は、2020年5月2日 18:00 JST まで禁止されています。言及がなされた場合、賠償が請求される可能性があります。
試験後に総合得点や認定級を公表するのは構いませんが、どの問題が解けたかなどの情報は発信しないようにお願いします。
### 制約
- $ S $ は長さ $ 1 $ 以上 $ 1000 $ 以下の、英小文字 `a` ~ `z` と `(` と `)` からなる文字列である。
- $ S $ は $ 1 $ 文字以上の英小文字を含む。
- 操作をこれ以上操作が行えなくなるまで繰り返し行ったときの、最終的な文字列 $ S $ の長さは $ 1000 $ 以下であり、これに`(` や `)` は含まれない。
### Sample Explanation 1
`(ab)` を `ab` $ +rev( $ `ab` $ ) $ である `abba` に置き換えると、$ S $ は `abbac` になります。 これ以上操作を行うことはできないので、これを出力します。
### Sample Explanation 2
括弧が存在しない可能性もあります。
### Sample Explanation 3
括弧の中が空文字列である可能性もあります。