AT_ttpc2019_k サーキュレーション
题目描述
给定两个长度为 $N$ 的二进制字符串 $S$ 和 $T$,它们只包含字符 `0` 和 `1`。
考虑以下操作:
- 选择一个整数 $x$($1 \leq x \leq N$),将字符串 $S$ 拆成两部分:$S_1 \ldots S_x$ 和 $S_{x+1} \ldots S_N$,对这两部分分别进行循环右移后再拼接。
具体而言,字符串 $U = U_1 \ldots U_M$ 的循环右移是将其从 $U_1 \ldots U_{M-1}U_M$ 变为 $U_MU_1 \ldots U_{M-1}$。特别地,当 $x = N$ 时,将整个字符串 $S$ 循环右移。例如,字符串 $S = 01001$,选择 $x = 3$ 进行操作时,先将其分为 $010$ 和 $01$,分别右移后变为 $001$ 和 $10$,最终结果为 $00110$。
你的任务是判断是否能通过若干次操作,将字符串 $S$ 转换为字符串 $T$。如果不能,请输出 `MuriyarokonnNaN`;如果可以,请输出所需的最少操作次数。
输入格式
输入为一行,包括三个部分:$N$、字符串 $S$ 和字符串 $T$:
> $N$ $S$ $T$
输出格式
判断能否通过操作将字符串 $S$ 转换为 $T$。如果可以输出最少操作次数;如果不行,则输出 `MuriyarokonnNaN`。
说明/提示
- $N$ 是一个满足 $1 \leq N \leq 10^5$ 的正整数。
- 字符串 $S$ 和 $T$ 仅包含字符 `0` 和 `1`。
- $S$ 和 $T$ 的长度都为 $N$。
- $S$ 中 `0` 的数量与 $T$ 中 `0` 的数量相等。
- $S$ 中 `1` 的数量与 $T$ 中 `1` 的数量相等。
### 示例详细说明
- 在样例 1 中,通过以下操作可以将字符串 $S$ 变为 $T$:
- 第一次,选择 $x = 1$。
- 第二次,选择 $x = 5$。
- 第三次,选择 $x = 6$。
这样,字符串 $S$ 将依次变为 $010101 \to 011010 \to 101100 \to 010110$。
- 在样例 2 中,$S$ 已与 $T$ 一致,无需进行任何操作。
**本翻译由 AI 自动生成**