Codeforces Round 646 (Div. 2)
F
Rotating Substrings
Codeforces
2600
原题
← E→
翻译中…

You are given two strings $s$ and $t$, each of length $n$ and consisting of lowercase Latin alphabets. You want to make $s$ equal to $t$.

翻译中…

You can perform the following operation on $s$ any number of times to achieve it —

翻译中…
  • Choose any substring of $s$ and rotate it clockwise once, that is, if the selected substring is $s[l,l+1...r]$, then it becomes $s[r,l,l + 1 ... r - 1]$. All the remaining characters of $s$ stay in their position. For example, on rotating the substring $[2,4]$ , string "abcde" becomes "adbce".
翻译中…

A string $a$ is a substring of a string $b$ if $a$ can be obtained from $b$ by deletion of several (possibly, zero or all) characters from the beginning and several (possibly, zero or all) characters from the end.

翻译中…

Find the minimum number of operations required to convert $s$ to $t$, or determine that it's impossible.

翻译中…

Input

翻译中…

The first line of the input contains a single integer $t$ $(1\leq t \leq 2000)$ — the number of test cases. The description of the test cases follows.

翻译中…

The first line of each test case contains a single integer $n$ $(1\leq n \leq 2000)$ — the length of the strings.

翻译中…

The second and the third lines contain strings $s$ and $t$ respectively.

翻译中…

The sum of $n$ over all the test cases does not exceed $2000$.

翻译中…

Output

翻译中…

For each test case, output the minimum number of operations to convert $s$ to $t$. If it is not possible to convert $s$ to $t$, output $-1$ instead.

翻译中…

Note

翻译中…

For the $1$-st test case, since $s$ and $t$ are equal, you don't need to apply any operation.

翻译中…

For the $2$-nd test case, you only need to apply one operation on the entire string ab to convert it to ba.

翻译中…

For the $3$-rd test case, you only need to apply one operation on the entire string abc to convert it to cab.

翻译中…

For the $4$-th test case, you need to apply the operation twice: first on the entire string abc to convert it to cab and then on the substring of length $2$ beginning at the second character to convert it to cba.

翻译中…

For the $5$-th test case, you only need to apply one operation on the entire string abab to convert it to baba.

翻译中…

For the $6$-th test case, it is not possible to convert string $s$ to $t$.

翻译中…

样例

Input #1
6
1
a
a
2
ab
ba
3
abc
cab
3
abc
cba
4
abab
baba
4
abcc
aabc
Output #1
0
1
1
2
1
-1
InputCopy OutputCopy
题目信息
题号
1363F
时间限制
2 s
内存限制
256 MB
标签
动态规划
字符串

题面与样例版权归 Codeforces 及出题人所有;中文翻译由 AI 生成(CI 管线),如有出入请以原文为准。