AT_arc224_e [ARC224E] ABC|AB|A
题目描述
给定一个由 `A`、`B` 和 `C` 组成的字符串 $S$。
你可以执行如下操作零次或多次:
- 从 $S$ 中选择一个子串(连续子序列),要求该子串为 `A`、`AB` 或 `ABC`,并将其删除。剩下的字符按原有顺序拼接。
请问,最终 $S$ 的最小可能长度是多少。
共有 $T$ 组测试数据,请你分别解答每组数据。
输入格式
输入从标准输入读取,格式如下,其中 $\mathrm{case}_i$ 表示第 $i$ 个测试用例:
> $T$
> $\mathrm{case}_1$
> $\mathrm{case}_2$
> $\vdots$
> $\mathrm{case}_T$
每组测试数据格式如下:
> $S$
输出格式
输出 $T$ 行,其中第 $i$ 行输出第 $i$ 组测试数据的答案。
说明/提示
### 样例解释 1
本样例包含五组测试数据。
对于第一组测试数据,可以按如下方式依次操作:
- 选择并删除 $S=$ `CAABCB` 的第 $3$ 位到第 $5$ 位。操作后,$S$ 变为 `CAB`。
- 选择并删除 $S=$ `CAB` 的第 $2$ 位到第 $3$ 位。操作后,$S$ 变为 `C`。
- 无法继续操作。最终 $S=$ `C`,长度为 $1$,为可达到的最小值。
### 数据范围
- $T$ 是 $1$ 到 $10^5$ 之间的整数。
- $S$ 是仅由 `A`、`B`、`C` 组成的字符串,长度为 $1$ 到 $10^6$ 之间。
- 所有测试数据中 $|S|$ 的总和不超过 $10^6$。
由 ChatGPT 5 翻译