AT_abc261_g.[ABC261G] Replace
NOI/NOI+/CTSC
通过率:0%
AC君温馨提醒
该题目为【atcoder】题库的题目,您提交的代码将被提交至atcoder进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。
题目描述
给定两个仅由小写英文字母组成的字符串 S 和 T。
高桥君从字符串 S 开始,可以任意多次重复选择以下 K 种操作中的一种进行操作。
第 i 种操作的形式如下:
支付 1 的代价。然后,如果字符串中包含字符 Ci,则选择其中一个 Ci,将其替换为字符串 Ai。如果不包含,则什么也不做。
请你求出将字符串 S 变为与 T 完全相同所需的最小总代价。如果无法变为 T,则输出 −1。
输入格式
输入以如下格式从标准输入读入。
S T
K
C1 A1
C2 A2
⋮
CK AK
输出格式
输出将 S 变为 T 所需的最小总代价。如果无法变为 T,则输出 −1。
输入输出样例
输入#1
ab cbca 3 a b b ca a efg
输出#1
4
输入#2
a aaaaa 2 a aa a aaa
输出#2
2
输入#3
a z 1 a abc
输出#3
-1
说明/提示
限制条件
- 1≤∣S∣≤∣T∣≤50
- 1≤K≤50
- Ci 是
a、b、…、z中的某一个字符 - 1≤∣Ai∣≤50
- S、T、Ai 均为仅由小写英文字母组成的字符串
- 将 Ci 视为长度为 1 的字符串时,有 Ci=Ai
- 所有 (Ci,Ai) 均不同
样例解释 1
高桥君从 S=ab 开始,可以通过如下 4 次操作将其变为 T=cbca:
- 选择
ab的第 1 个字符a,用b替换(第 1 种操作)。字符串变为bb。 - 选择
bb的第 2 个字符b,用ca替换(第 2 种操作)。字符串变为bca。 - 选择
bca的第 1 个字符b,用ca替换(第 2 种操作)。字符串变为caca。 - 选择
caca的第 2 个字符a,用b替换(第 1 种操作)。字符串变为cbca。
每次操作的代价为 1,因此总代价为 4,且这是最小值。
样例解释 2
a \to aaa \to aaaaa,总代价为 2,且这是最小值。
样例解释 3
无论如何操作,都无法将 S=a 变为 T=z。
由 ChatGPT 4.1 翻译
输入解题思路,AI测评打分。不知道怎么写?