比赛场次 | 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 简单对比 |
用户 | 结果 | 时间 | 内存 | 得分 |
---|---|---|---|---|
ムラサメ | AWWWWWWWWWWWWWW | 0.000 s | 0.00 MiB | 6 |
给定一个由大小写英文字母构成的字符串 $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$。
4 abc abc BBC ABC abc bbc ABCD BACD
0 -1 1 3
点击下载样例2/3
第 $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$”组成