Problem of the day
1. Choose any index i (0 <= i < n) and swap characters a[i] and b[i].
2. Choose any index i (0 <= i < n) and swap characters a[i] and a[n-i-1] .
3. Choose any index i (0 <= i < n) and swap characters b[i] and b[n-i-1] .
1. The number of changes you make after the preprocess move does not matter.
2. You cannot apply to preprocess moves to the String B or make any preprocess moves after the first change is made.
The first line of input contains an integer ‘T’ representing the number of test cases. Then the test cases follow.
The first line of each test case contains string A consisting of lowercase English letters.
The second line of each test case contains string B consisting of lowercase English letters.
For each test case, print a single integer denoting the minimum number of pre-processing moves on the string A required to make it equal to the string B. Print -1, if it is impossible to make strings equal.
The output for each test case is in a separate line.
You do not need to print anything; it has already been taken care of. Just implement the given fuction.
1 <= T <= 100
1 <= N <= 5000
Where ‘N’ is the length of the strings.
Time Limit: 1 sec
2
abacaba
bacabaa
zcabd
dbacz
4
0
For the first test case, preprocess moves are as follows: A[0] = ‘b’, A[2] = ‘c’, A[3] = ‘a’ and A[4] = ‘b’. Afterwards, A = ‘“bbcabba”. Then we can obtain equal strings by the following sequence of changes: swap(A[2], B[2]) and swap(A[2], A[6]). There is no way to use fewer than 4 preprocess moves before a sequence of changes to make strings equal, so the answer in this test case is 4.
For the second test case, no preprocess moves are required. We can use the following sequence of changes to make A and B equal: swap(B[1], B[5]), swap(A[2], A[4]).
3
zxyyxzx
zyzyxyy
jfhjfl
jhkkjs
abcd
abcde
3
4
-1