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 翻译