AT_abc430_e [ABC430E] Shift String

题目描述

给定等长的字符串 $A$ 和 $B$,它们仅由字符 `0` 和 `1` 组成。 你可以对 $A$ 执行如下操作任意次: - 将 $A$ 的第一个字符移到末尾。 请你求出将 $A$ 变为 $B$ 所需的最少操作次数。如果无论怎样操作都无法将 $A$ 变为 $B$,请输出 $-1$。 共有 $T$ 组测试用例,请为每组测试用例求解答案。

输入格式

输入由标准输入给出,格式如下: > $T$ 接下来的 $T$ 行,每行包含两个字符串 $A$ 和 $B$。

输出格式

输出共 $T$ 行。 第 $i$ 行输出第 $i$ 个测试用例的答案。

说明/提示

### 样例解释 1 该输入包含五组测试用例。 - 对于第一个测试用例,$A = $ `1010001`,$B = $ `1000110`。 - 对 $A$ 执行两次操作后,$A$ 依次变为 `1010001` $\rightarrow$ `0100011` $\rightarrow$ `1000110`,此时 $A=B$。 - 对于第二个测试用例,无论怎样操作,也无法将 `000` 变为 `111`。 - 对于第三个测试用例,$A$ 一开始就等于 $B$。 ### 数据范围 - $1 \leq T \leq 10000$ - $A$ 和 $B$ 均为只包含字符 `0` 和 `1` 的字符串。 - $2 \leq |A| = |B| \leq 10^6$ - 对于所有测试用例,$\sum |A| \leq 10^6$。 由 ChatGPT 5 翻译