#2242. 徐老师的迭代加密
徐老师的迭代加密
题目描述
徐老师最近很喜欢和石老师玩通信加密,他们一起设计了一套很有趣的加密系统——迭代加密法
迭代加密法的核心是一个密钥字典,这个密钥字典中一共存储着 个密钥
每个密钥的格式如下:
<word0> x <word1> <word2> <word3> ... <wordx>
意思就是 这个单词如果在密文中出现了,那么则将它替换成后面的 个单词
例如密钥 ab 3 aa ac cc
的意思就是,如果密文中出现了 ab
这个单词(必须是完整的单词,包含 ab
的单词不算,即 aab
,aaba
等均不算)则替换成 aa ac cc
而迭代加密的重头戏,就和它的名字一样,密钥可能会出现迭代,例如一个密钥包含另一个密钥,那么则需要重复将其替换,来使得最终的密文中不包含任何密钥字典中的密钥
用伪代码来描述迭代加密如下:
while (密文中包含密钥字典中的密钥){
按照密钥字典的规则替换所有出现的密钥
}
最终当密文中不包含密钥字典中的密钥时,破解完毕,此时的信息即为真正的信息也就是明文
现在徐老师给石老师传递了一个包含 个单词的密文,徐老师想用这个密文考考石老师
他希望石老师不但要破译出明文,还要计算出明文里所有小写字母对应的 码之和,而你的任务则是帮徐老师计算一下正确结果,以此来和石老师的结果进行比对
P.S. 'a'
的 码为 ,'b'
的 码为 ,依次类推
输入格式
输入第一行包含一个整数 ,表示密钥字典中的密钥数量
接下来 行,每行包含一个密钥,格式如题意所示
接下来一行包含一个整数 ,表示密文有 个单词
下一行包含 个由空格隔开的字符串,即密文
输出格式
输出一个整数,表示最后的结果,由于答案可能过大,请将答案对 取模
数据范围
对于所有数据保证 $1 \leq n \leq 10^5, 0 \leq m \leq 10^5, 1 \leq x \leq 5$,每个单词仅由小写字母组成,且长度不超过
并且题目保证一定存在正确的明文,不存在无限展开的密文
每部分数据包含的特殊性质如下
数据点编号 | 特殊性质 |
---|---|
保证密钥字典中所有密钥不包含其他密钥 | |
保证明文中的单词不超过 个 | |
无 |
样例输入1
3
cc 2 ee ff
aa 3 cc ee cc
ee 1 bee
7
aa bb cc dd cc bb aa
样例输出1
4216
样例解释1
翻译出来的正确信息为
bee ff bee bee ff bb bee ff dd bee ff bb bee ff bee bee ff
其中 码对应如下
bee
ff
bb
dd
码总和为
样例输入2
25
a 5 b b b b b
b 5 c c c c c
c 5 d d d d d
d 5 e e e e e
e 5 f f f f f
f 5 g g g g g
g 5 h h h h h
h 5 i i i i i
i 5 j j j j j
j 5 k k k k k
k 5 l l l l l
l 5 m m m m m
m 5 n n n n n
n 5 o o o o o
o 5 p p p p p
p 5 q q q q q
q 5 r r r r r
r 5 s s s s s
s 5 t t t t t
t 5 u u u u u
u 5 v v v v v
v 5 w w w w w
w 5 x x x x x
x 5 y y y y y
y 5 z z z z z
1
a
样例输出2
476449844
相关
在下列比赛中: