atcoder#ABC167F. [ABC167F] Bracket Sequencing

[ABC167F] Bracket Sequencing

题目描述

以下のいずれかの条件を満たす文字列を括弧列と定義します。

  1. 空文字列
  2. ある括弧列 A A が存在して、(, A A , ) をこの順に連結した文字列
  3. ある空でない括弧列 A A , B B が存在して、A A , B B をこの順に連結した文字列

N N 個の文字列 Si S_i が与えられます。Si S_i 全てを好きな順序で連結するとき、括弧列を構成することはできますか。

输入格式

入力は以下の形式で標準入力から与えられる。

N N S1 S_1 : : SN S_N

输出格式

Si S_i を任意の順序で連結するとき、括弧列を構成できるなら Yes、できないなら No を出力せよ。

题目大意

第一行给出一个 nn 表示有 nn 个只含有 (,)\texttt{(,)} 的括号序列。(1n1061\le n\le 10^6

之后 nn 行,每行一个括号序列。

如果可以通过排列这 nn 个括号序列使得其成为一个合法括号序列(即左右括号一一匹配),输出 Yes\text{Yes};如果不能,输出 No\text{No}

2
)
(()
Yes
2
)(
()
No
4
((()))
((((((
))))))
()()()
Yes
3
(((
)
)
No

提示

制約

  • 1  N  106 1\ \leq\ N\ \leq\ 10^6
  • Si S_i の文字列長の合計は 106 10^6 以下
  • Si S_i (, ) のみからなる空でない文字列

Sample Explanation 1

((), ) の順に連結すると括弧列になります。