Universal Cup Judging System

Universal Cup

Süre Sınırı: 2 s Bellek Sınırı: 1024 MB Toplam puan: 100 Hack'lenebilir ✓
İstatistikler

Yuki は、回文の括弧列は平衡な括弧列にはなれないことに気付き、回文平衡括弧列を定義する別の方法を考えました。

Yuki は回文の括弧列を次の規則で定義します。

  • 空文字列は回文の括弧列です。

  • ( と ) は回文の括弧列です。

  • 括弧列 $s$ が回文の括弧列ならば、$(s($ と $)s)$ も回文の括弧列です。

Yuki は平衡な括弧列を次の規則で定義します。

  • 空文字列は平衡な括弧列です。

  • 括弧列 $s$ が平衡な括弧列ならば、$(s)$ も平衡な括弧列です。

  • 括弧列 $s$ と $t$ がともに平衡な括弧列ならば、$st$(2 つの括弧列を連結したもの)も平衡な括弧列です。

括弧列 $s=s_1\ldots s_n$ について、Yuki は次の条件が成り立つとき、かつそのときに限り、$s$ を回文平衡括弧列と定義します。

  • $s_2\ldots s_{n-1}$ は回文の括弧列です。

  • $s_1\ldots s_n$ は平衡な括弧列です。

特に、空文字列と () も回文平衡括弧列です。

例えば、(())() と ()()(()()) は回文平衡括弧列ですが、((())) と ()()(()) はそうではありません。

今、Yuki は長さ $n$ の括弧列 $s$ を持っており、回文平衡括弧列である $s$ の最長の部分列*を求めたいと考えています。しかし Yuki はその方法を知らないので、そのような最長の部分列の長さを求めてあげてください。

*:列 $a$ が列 $b$ の部分列であるのは、$b$ から 0 個以上の要素を削除して $a$ を得られるとき、かつそのときに限ります。特に、空の列はどの列の部分列でもあります。

入力

この問題には複数のテストケースがあります。

最初の行には、テストケース数を表す正整数 $t$($1\le t\le5000$)が与えられます。

各テストケースについて:

  • 最初の行には正整数 $n$($1\le n\le5000$)が与えられます。

  • 2 行目には長さ $n$ の括弧列 $s$($s_i\in\{\texttt{(},\texttt{)}\}$)が与えられます。

すべてのテストケースにわたる $n$ の総和は $10^4$ 以下であることが保証されます。

出力

各テストケースについて、条件を満たす最長の部分列の長さを表す整数を 1 行に出力してください。

入出力例

入力 1

3
5
(()((
7
)))((((
8
())(()()

出力 1

2
0
6

注記

最初のテストケースについて:

  • 条件を満たす最長の部分列は $s_1s_3=\texttt{()}$ と $s_2s_3=\texttt{()}$ なので、答えは 2 です。

2 番目のテストケースについて:

  • 条件を満たす最長の部分列は空文字列なので、答えは 0 です。

3 番目のテストケースについて:

  • 条件を満たす最長の部分列は $s_1s_2s_4s_5s_6s_8=\texttt{()(())}$ なので、答えは 6 です。

Discussions

About Discussions

The discussion section is only for posting: General Discussions (problem-solving strategies, alternative approaches), and Off-topic conversations.

This is NOT for reporting issues! If you want to report bugs or errors, please use the Issues section below.

Open Discussions 0
No discussions in this category.

Issues

About Issues

If you find any issues with the problem (statement, scoring, time/memory limits, test cases, etc.), you may submit an issue here. A problem moderator will review your issue.

Guidelines:

  1. This is not a place to publish discussions, editorials, or requests to debug your code. Issues are only visible to you and problem moderators.
  2. Do not submit duplicated issues.
  3. Issues must be filed in English or Chinese only.
Active Issues 0
No issues in this category.
Closed/Resolved Issues 0
No issues in this category.