AT_tupc2022_e 00-11 Rotation
题目描述
给定两个只包含 $0$ 和 $1$ 的长度为 $N$ 的字符串 $S$ 和 $T$。记 $S$ 的第 $i$ 个字符为 $S_i$。
Aoba 想通过对字符串 $S$ 进行以下两种操作,将 $S$ 变为 $T$:
- 操作 1:选择下标 $i$ $(1 \leq i \leq N-2)$,使得 $S_iS_{i+1}S_{i+2}$ 等于 $001$ 或 $100$,然后将这三个字符替换成 $001$ 或 $100$(可以替换成任意一个)。
- 操作 2:选择下标 $i$ $(1 \leq i \leq N-2)$,使得 $S_iS_{i+1}S_{i+2}$ 等于 $110$ 或 $011$,然后将这三个字符替换成 $110$ 或 $011$(可以替换成任意一个)。
Aoba 喜欢操作 2,但不喜欢操作 1。请问将 $S$ 变为 $T$ 至少需要进行多少次操作 1?如果无论进行多少次操作都无法将 $S$ 变为 $T$,输出 $-1$。
输入格式
输入从标准输入按以下格式给出:
```
N
S
T
```
输出格式
输出一个整数,表示将 $S$ 变为 $T$ 所需的操作 1 的最小次数。如果无法将 $S$ 变为 $T$,则输出 $-1$。
说明/提示
### 样例解释 1
首先,在 $i=5$ 处进行操作 2,使 $S= 1011011$。
接着,在 $i=3$ 处进行操作 2,使 $S= 1001111$。
最后,在 $i=2$ 处进行操作 1,使 $S= 1100111$。
这样最终 $S$ 就被变换成了 $T$。为了完成这个过程,最少需要进行 $1$ 次操作 1,所以答案为 $1$。
### 样例解释 2
无法将 $S$ 变为 $T$。
# 数据范围
- $3 \leq N \leq 3 \times 10^5$
- $N$ 是整数
- $S$ 和 $T$ 是长度为 $N$ 只包含 $0$ 和 $1$ 的字符串
由 ChatGPT 5 翻译