你有 n 块砖在桌子上排成一行。他们每个人上都只有一个字母。你的任务是重新排列这些砖块,以便它们上面的字母创建一些指定的铭文。在重新排列时,您只能交换具有指定字母的相邻砖块(给定 m 对 (a1,b1),...,(am,bm) 并且您只能在其中一个上交换带有 ai 和 bi 的砖块第二,对于某些 i=1,..,m)。您应该检查是否有可能实现这一点 - 如果是的话 - 计算最少需要的交换次数。
输入
输入的第一行有一个整数 c。然后是c个测试用例:每行包含两行长度不超过100000的小写字母(a..z)(开始和结束配置的说明),下一行是一个整数m,然后是m行两个字母ai,bi 在他们每个人中。
输出
对于每个测试用例,如果无法重新排列砖块,则应打印 -1,如果可能,则应打印最少的交换次数(如果可以,则输出此值以 232 为模)。
Input:
4
ab
ba
0
abc
cba
3
ab
cb
ca
cabbbc
cbabbc
1
ab
abba
baab
1
ab
Output:
-1
3
1
2
我不明白这个问题任何人都可以帮助我理解测试用例不需要指导我给出提示和算法只是解释我这个问题,thanx