比赛场次 572
比赛名称 4043级2023省选模拟赛4
比赛状态 已结束比赛成绩
开始时间 2023-03-27 08:00:00
结束时间 2023-03-27 12:30:00
开放分组 全部用户
注释介绍 嘿嘿哈哈呵呵
题目名称 Find and Replace
输入输出 fars.in/out
时间限制 1000 ms (1 s)
内存限制 256 MiB
测试点数 15 简单对比
用户 结果 时间 内存 得分
Gravatarムラサメ AWWWWWWWWWWWWWW 0.000 s 0.00 MiB 6

Find and Replace

★★☆   输入文件:fars.in   输出文件:fars.out   简单对比
时间限制:1 s   内存限制:256 MiB

【题目描述】

给定一个由大小写英文字母构成的字符串 $s_1$,你需要通过查找替换操作将其变为另一个由大小写英文字母构成的字符串 $s_2$。


每次操作可以选择一个英文字母 $c_1$ 作为查找字符,再选择一个英文字母 $c_2$ 作为替换字符,并将当前字符串中出现的所有 $c_1$ 替换为 $c_2$。


例如,如果当前字符串为 $aAbBa$,$c_1$ 为 $a$,$c_2$ 为 $B$,则操作过后,当前字符串变为 $BAbBB$。


注意,选定的 $c_1$ 和 $c_2$ 必须均为英文字母(大小写均可)。


请问,为了完成目标,最少需要进行多少次操作。

【输入格式】

第一行包含整数 $T$,表示共有 $T$ 组测试数据。

每组数据占两行,第一行包含字符串 $s_1$,第二行包含字符串 $s_2$。

$1≤T≤10$,同一组数据的 $s_1$ 和 $s_2$ 长度相等,输入中所有字符串的长度之和不超过 $10^5$。

【输出格式】

每组数据输出一行结果,一个整数,表示最少需要的操作次数,如果无法完成目标,则输出 $-1$。

【样例1输入】

4
abc
abc
BBC
ABC
abc
bbc
ABCD
BACD

【样例1输出】

0
-1
1
3

【样例2/3】

点击下载样例2/3

【样例1说明】

第 $1$ 组数据,$s_1$ 和 $s_2$ 完全相同,无需任何操作。

第 $2$ 组数据,无法完成目标,因为无法在保持第 $2$ 个 $B$ 不变的情况下,将第 $1$ 个 $B$ 变为 $A$。

第 $3$ 组数据,只需一步操作:将 $a$ 变为 $b$。

第 $4$ 组数据,需要三步操作,变化过程:$ABCD → EBCD → EACD → BACD$。

【数据规模与约定】

测试点 $2-6:\ length(s_1),length(s_2)\leq 50$

测试点 $7-9:\ $所有字符串仅由小写字母“$a$”到“$e$”组成