#aBC261G. [ABC261G] Replace
[ABC261G] Replace
AT_abc261_g [ABC261G] Replace
题目描述
给定两个仅由小写英文字母组成的字符串 和 。
高桥君从字符串 开始,可以任意多次重复选择以下 种操作中的一种进行操作。
第 种操作的形式如下:
支付 的代价。然后,如果字符串中包含字符 ,则选择其中一个 ,将其替换为字符串 。如果不包含,则什么也不做。
请你求出将字符串 变为与 完全相同所需的最小总代价。如果无法变为 ,则输出 。
输入格式
输入以如下格式从标准输入读入。
输出格式
输出将 变为 所需的最小总代价。如果无法变为 ,则输出 。
输入输出样例 #1
输入 #1
ab
cbca
3
a b
b ca
a efg
输出 #1
4
输入输出样例 #2
输入 #2
a
aaaaa
2
a aa
a aaa
输出 #2
2
输入输出样例 #3
输入 #3
a
z
1
a abc
输出 #3
-1
说明/提示
限制条件
- 是
a、b、、z中的某一个字符 - 、、 均为仅由小写英文字母组成的字符串
- 将 视为长度为 的字符串时,有
- 所有 均不同
样例解释 1
高桥君从 ab 开始,可以通过如下 次操作将其变为 cbca:
- 选择
ab的第 个字符a,用b替换(第 种操作)。字符串变为bb。 - 选择
bb的第 个字符b,用ca替换(第 种操作)。字符串变为bca。 - 选择
bca的第 个字符b,用ca替换(第 种操作)。字符串变为caca。 - 选择
caca的第 个字符a,用b替换(第 种操作)。字符串变为cbca。
每次操作的代价为 ,因此总代价为 ,且这是最小值。
样例解释 2
a \to aaa \to aaaaa,总代价为 ,且这是最小值。
样例解释 3
无论如何操作,都无法将 a 变为 z。
由 ChatGPT 4.1 翻译