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