#P16326. [Ucpc2024初赛]双倍
[Ucpc2024初赛]双倍
题目描述
Mingyu 开发了新一代聊天应用 ChatChatA。应用发布后出现了一个严重 Bug:输入某些字符时,当前消息会被“加倍”。
设当前正在输入的消息为字符串 , 的最后一个字符为 ,即将输入的字符为 ,会触发加倍的字符对集合为 。
- 若 ,输入 后, 不会变成 ,而会变成
- 若 ,输入 后, 变成 。
- 若 为空串,则不会触发加倍。
其中 + 表示字符串连接。
用户想知道,为了输入目标字符串 ,最少需要进行多少次输入操作。
初始时 为空串。每次输入操作可以选择以下两种行为之一:
- 向 的末尾输入一个字符 。根据上述规则,这次输入可能触发加倍;
- 删除 的最后一个字符。只有当 非空时才能执行。
请计算使当前消息 最终恰好等于 所需的最少操作次数。
输入格式
第一行包含集合 的大小 。
第二行包含长度为 的小写英文字母串 。
第三行包含长度为 的小写英文字母串 。
对于每个 ,字符对 属于集合 ,即
保证所有字符对互不相同。
第四行包含由小写英文字母组成的目标字符串 。
输出格式
输出使当前消息变为 所需的最少操作次数。
若无法得到 ,输出 -1。
样例 1
输入
1
t
a
chatchata
输出
5
样例 2
输入
2
ct
ha
chatchata
输出
-1
样例 3
输入
2
af
bd
aafaaafaafaaafd
输出
8