101675: [AtCoder]ABC167 F - Bracket Sequencing

Memory Limit:256 MB Time Limit:2 S
Judge Style:Text Compare Creator:
Submit:0 Solved:0

Description

Score : $600$ points

Problem Statement

A bracket sequence is a string that is one of the following:

  1. An empty string;
  2. The concatenation of (, $A$, and ) in this order, for some bracket sequence $A$ ;
  3. The concatenation of $A$ and $B$ in this order, for some non-empty bracket sequences $A$ and $B$ /

Given are $N$ strings $S_i$. Can a bracket sequence be formed by concatenating all the $N$ strings in some order?

Constraints

  • $1 \leq N \leq 10^6$
  • The total length of the strings $S_i$ is at most $10^6$.
  • $S_i$ is a non-empty string consisting of ( and ).

Input

Input is given from Standard Input in the following format:

$N$
$S_1$
$:$
$S_N$

Output

If a bracket sequence can be formed by concatenating all the $N$ strings in some order, print Yes; otherwise, print No.


Sample Input 1

2
)
(()

Sample Output 1

Yes

Concatenating (() and ) in this order forms a bracket sequence.


Sample Input 2

2
)(
()

Sample Output 2

No

Sample Input 3

4
((()))
((((((
))))))
()()()

Sample Output 3

Yes

Sample Input 4

3
(((
)
)

Sample Output 4

No

Input

题意翻译

第一行给出一个 $n$ 表示有 $n$ 个只含有 $\texttt{(,)}$ 的括号序列。($1\le n\le 10^6$) 之后 $n$ 行,每行一个括号序列。 如果可以通过排列这 $n$ 个括号序列使得其成为一个合法括号序列(即左右括号一一匹配),输出 $\text{Yes}$;如果不能,输出 $\text{No}$。

加入题单

上一题 下一题 算法标签: