E - 010-11 Shorten Editorial /

Time Limit: 2 sec / Memory Limit: 1024 MiB

配点 : 100

問題文

長さ N0, 1からなる文字列 S が与えられます。
文字列 S に対して以下の 2 種類の操作を繰り返し行うことができます。

  • 操作 1S の中の連続部分文字列 0101 つ選び、 1 に置き換える。

  • 操作 2S の中の連続部分文字列 111 つ選び、 1 に置き換える。

操作を行うことができる回数の最大値を求めてください。

T 個のテストケースが与えられるので、それぞれについて答えを求めてください。

制約

  • 1 \leq T \leq 10^5
  • 1 \leq N \leq 10^6
  • S0, 1 からなる長さ N の文字列
  • 1 つの入力ファイルに含まれる N の総和は 10^6 以下
  • T,N は整数

入力

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

T
\text{case}_1
\text{case}_2
\vdots
\text{case}_T

それぞれのテストケースは次の形式で与えられる。

N
S

出力

T 行出力せよ。i=1,2,\dots,T に対して i 行目には i 番目のテストケースの答えを整数で出力せよ。


入力例 1

5
6
010100
4
0110
3
100
2
00
20
01001100000001101001

出力例 1

3
2
0
0
11

1 つ目のテストケースについて、例えば以下のように 3 回の操作を行うことができます。

  • 0101003 から 5 文字目の 0101 に置き換え、0110 にする。
  • 01102 から 3 文字目の 111 に置き換え、010 にする。
  • 0101 から 3 文字目の 0101 に置き換え、1 にする。

010100 に対して 4 回以上の操作を行うことはできないため、答えは 3 となります。