P16328 夜曲
题目背景

在旅程的尽头,那些本不属于我们的,已物归原主。
题目描述
给定长度为 $n$ 的两个字符串 $s, t$,下标从 $1$ 开始。
一次操作可以自由选择一个长度为 $n$、值域为 $[1, n]$ 的**不降**整数序列 $p$,满足 $|p_i-i|\le 1$。随后同时令所有 $s_i\gets s_{p_i}$。
求能把 $s$ 变为 $t$ 的最小操作次数,若无解输出 $-1$。
输入格式
本题包含多组测试数据。
输入的第一行包含一个正整数 $T$,表示测试数据组数。
接下来依次输入每组测试数据,对于每组测试数据,第一行输入字符串 $s$,第二行输入字符串 $t$。
输出格式
对于每组测试数据,输出一行一个整数,表示答案。
说明/提示
### 样例解释
对于样例中第一组测试数据,我们可以通过如下方式使 $s$ 变成 $t$:
$$\texttt{aabbccc}\to\texttt{abbbbcc}\to\texttt{abbbbbc}$$
两次操作的 $p$ 分别为 $[1,3,4,4,4,5,6]$,$[1,2,3,4,5,5,7]$。
不存在方式使得可以通过一次操作将 $s$ 变为 $t$,故答案为 $2$。
### 数据范围
**本题开启捆绑测试。**
令 $m$ 表示字符集大小,即字符串中仅会出现前 $m$ 个小写字母。
::cute-table
| $\text{Subtask}$ | $n,\sum n\le$ | $m\le$ | 特殊性质 |$\text{Score}$ |
| :-----------: | :-----------: | :-----------: | :---------: | :----------: |
|$1$ | $20$| $2$ | A | $15$ |
|$2$ | $5\times 10^3$ | ^ | 无 | $30$ |
|$3$ | $10^6$| $26$ | B | $25$ |
|$4$ | ^| ^ | 无 | $30$ |
特殊性质 A:保证 $s_i\le s_{i+1}$,$t_i\le t_{i+1}$。
特殊性质 B:保证 $t$ 仅包含字符 `a`。
对于所有数据,保证 $1\le T \le 5\times 10^3$,$1\le n,\sum n\le 10^6$,字符串仅包含小写字母,$|s|=|t|$。