传统题 1000ms 256MiB

句子 (sents)

该比赛已结束,您无法在比赛模式下递交该题目。您可以点击“在题库中打开”以普通模式查看和递交本题。

Description

明明与可可经常在网上聊天,但最近他们发现父母们可能查看了他们的隐私谈话。因此他们发明了一些加密方法的语言。

所有合法的单词在给定的单词列表中。一个句子由一些合法单词连续组成(没有空格)。每个单词可以出现任意多次。特殊的加密方法是:每个单词在传送之后,它的字母有可能打乱了重新排列。这次加密的代价定义为:加密前的单词和加密后的单词有多少位置上的字母不相同。比如:"abc" 变为 "abc",则代价为0。如果变为"acb"、"cba"或"bac"则代价为2。如果变为"bca" 或 "cab"则代价为3。

对于接收到的句子,解码成加密前的句子可能有多种方案,但明明和可可知道只有句子的加密总代价最小的方案才是真正的原来的句子。面对这么复杂的加密语言,他们的父母当然看不懂。但不幸的是,他们自己也搞不懂了。他们需要你帮助研究。

任务:

对于给定的合法单词列表和加密后的句子,求出由合法单词通过加密形成现在句子的最小代价。如果没有可能,则输出-1。

提示:一个单词如果出现多次,每次加密后的单词并不一定相同。

数据范围:

合法单词数:1≤n≤50;

每个单词长度:1≤lenwi≤50;

句子长度:1≤lens≤100;

所有单词和句子中的字符都是小写字母 ('a'-'z')。

Format

Input

第一行:一个整数 n,表示合法单词个数。

下面 n 行:每行一个字符串,表示一个合法单词。

最后一行:一个字符串,表示加密后的句子。

Output

只一行,一个整数。

Samples

4
one
two
three
there
neotowheret
8

Limitation

答案说明:

"one" -> "neo" 代价为 3 
"two" -> "tow" 代价为 2 
"three" -> "heret" 代价为 3 
"there" -> "heret" 代价为 5 
最小代价=3+2+3=8

4月15日作业

未认领
状态
已结束
题目
8
开始时间
2023-4-15 0:00
截止时间
2023-4-29 23:59
可延期
24 小时