UVA1626 Brackets sequence
题目描述
我们将正规括号序列定义如下:
1. 空序列是正规括号序列。
2. 如果 $\text S$ 是一个正规括号序列,那么 $\text{(S)}$ 和 $\text{[S]}$ 都是正规括号序列。
3. 如果 $\text A$ 和 $\text B$ 都是正规括号序列,那么 $\text{AB}$ 是一个正规括号序列。
例如,下面这些序列都是正规括号序列:
$\texttt{(),[],(()),([]),()[],()[()]}$
而下面这些不是正规括号序列:
$\texttt{(,[,),)(,([)],([]}$
给你一些含有字符 $\texttt($、$\texttt)$、$\texttt[$、$\texttt]$ 的括号序列。你需要找一个最短的正规括号序列,使给定括号序列作为一个子序列包含在其中。
输入格式
输入第一行为一个正整数,代表数据组数。每组数据内容见下文。这一行之后跟着一个空行,每两组数据中间也有一个空行。
每一组数据的输入都有且只有一行,最多包含 $100$ 个字符,这些字符只由括号(字符 $\texttt($、$\texttt)$、$\texttt[$、$\texttt]$)组成,任意两个括号之间没有空格。
输出格式
对于每一组数据,格式必须符合如下:
输出最短的括号序列,满足题目描述,并且每两个输出之间必须有一个空行分开,特别的,最后一个输出后也需要一个空行,也即最后一行是空行。