AT_agc066_c [AGC066C] Delete AAB or BAA
Description
[problemUrl]: https://atcoder.jp/contests/agc066/tasks/agc066_c
`A`, `B` からなる文字列 $ S $ が与えられます.
あなたはこの文字列に対して,次の操作を繰り返し行うことができます:
- $ S $ の中の連続する $ 3 $ 文字であって `AAB` または `BAA` に等しいものをひとつ選び,その $ 3 $ 文字を $ S $ から削除する(削除した後,残っている文字は連結される).
操作を行える回数の最大値を求めてください.
$ T $ 個のテストケースが与えられるので,それぞれについて答えを求めてください.
Input Format
N/A
Output Format
N/A
Explanation/Hint
### 制約
- $ 1\leq\ T\leq\ 10^5 $
- $ S $ は `A`, `B` からなる文字列である.
- $ 1\leq\ |S|\leq\ 10^6 $
- $ 1 $ 個の入力に含まれるテストケースについて,それらの $ |S| $ の総和は $ 10^6 $ 以下である.
### Sample Explanation 1
$ 1 $ 番目,$ 2 $ 番目のテストケースについて,次が操作回数を最大化する方法の一例となります. - `AABAAAB` → `AAAB` → `A` - `BAAAAABBA` → `BAAABA` → `BAA` → (空文字列)