[ABC167F] Bracket Sequencing
题意翻译
第一行给出一个 $n$ 表示有 $n$ 个只含有 $\texttt{(,)}$ 的括号序列。($1\le n\le 10^6$)
之后 $n$ 行,每行一个括号序列。
如果可以通过排列这 $n$ 个括号序列使得其成为一个合法括号序列(即左右括号一一匹配),输出 $\text{Yes}$;如果不能,输出 $\text{No}$。
题目描述
[problemUrl]: https://atcoder.jp/contests/abc167/tasks/abc167_f
以下のいずれかの条件を満たす文字列を**括弧列**と定義します。
1. 空文字列
2. ある括弧列 $ A $ が存在して、`(`, $ A $, `)` をこの順に連結した文字列
3. ある空でない括弧列 $ A $, $ B $ が存在して、$ A $, $ B $ をこの順に連結した文字列
$ N $ 個の文字列 $ S_i $ が与えられます。$ S_i $ 全てを好きな順序で連結するとき、括弧列を構成することはできますか。
输入输出格式
输入格式
入力は以下の形式で標準入力から与えられる。
> $ N $ $ S_1 $ $ : $ $ S_N $
输出格式
$ S_i $ を任意の順序で連結するとき、括弧列を構成できるなら `Yes`、できないなら `No` を出力せよ。
输入输出样例
输入样例 #1
2
)
(()
输出样例 #1
Yes
输入样例 #2
2
)(
()
输出样例 #2
No
输入样例 #3
4
((()))
((((((
))))))
()()()
输出样例 #3
Yes
输入样例 #4
3
(((
)
)
输出样例 #4
No
说明
### 制約
- $ 1\ \leq\ N\ \leq\ 10^6 $
- $ S_i $ の文字列長の合計は $ 10^6 $ 以下
- $ S_i $ は `(`, `)` のみからなる空でない文字列
### Sample Explanation 1
`(()`, `)` の順に連結すると括弧列になります。