AT_agc052_e [AGC052E] 3 Letters
题目描述
由 `A`、`B`、`C` 组成的字符串,如果任意连续的 $2$ 个字符都不相同,则称为**好**字符串。例如,`ABABAB` 和 `ABC` 是好字符串,而 `ABBA` 和 `AABBCC` 不是好字符串。
给定两个长度为 $N$ 的**好**字符串 $S$ 和 $T$。每次操作,你可以从 $S$ 中任选一个字符,将其变为 `A`、`B`、`C` 中的另一个字符。操作后,$S$ 仍需保持为**好**字符串。
请问最少需要多少次操作,才能将 $S$ 变为 $T$。可以证明一定可以在有限次操作内完成。
输入格式
输入从标准输入中给出,格式如下:
> $N$ $S$ $T$
输出格式
输出将 $S$ 变为 $T$ 所需的最小操作次数。
说明/提示
## 限制
- $1 \leq N \leq 5 \times 10^5$
- $S$ 是由 `A`、`B`、`C` 组成的长度为 $N$ 的**好**字符串。
- $T$ 是由 `A`、`B`、`C` 组成的长度为 $N$ 的**好**字符串。
## 样例解释 1
以下是用 $6$ 次操作达成目标的一个例子:`CABC` $\to$ `BABC` $\to$ `BCBC` $\to$ `BCAC` $\to$ `ACAC` $\to$ `ABAC` $\to$ `CBAC`。在这种情况下,至少需要 $6$ 次操作。
由 ChatGPT 4.1 翻译