#291. 小杨的字典
小杨的字典
小杨的字典
题目描述
在遥远的星球,有两个国家 A 国和 B 国,他们使用着不同的语言:A 语言和 B 语言。小杨是 B 国的翻译官,他的工作是将 A 语言的文章翻译成 B 语言的文章。
为了顺利完成工作,小杨制作了一本字典,里面记录了 个 A 语言单词对应的 B 语言单词,巧合的是,这些单词都由地球上的 26 个小写英文字母组成。
小杨希望你写一个程序,帮助他根据这本字典翻译一段 A 语言文章。这段文章由标点符号 !()-[]{}\\|;:'",./?<> 和一些 A 语言单词构成,每个单词之间必定由至少一个标点符号分割,你的程序需要把这段话中的所有 A 语言单词替换成它的 B 语言翻译。特别地,如果遇到不在字典中的单词,请使用大写 UNK 来替换它。
例如,小杨的字典中包含 个 A 语言单词 abc 和 d,它们的 B 语言翻译分别为 a 和 def,那么我们可以把 A 语言文章 abc.d.d.abc.abcd. 翻译成 B 语言文章 a.def.def.a.UNK. 其中,单词 abcd 不在词典内,因此我们需要使用 UNK 来替换它。
输入格式
第一行一个整数 ,表示词典中的条目数。保证 。
接下来 行,每行两个用单个空格隔开的字符串 , ,分别表示字典中的一个 A 语言单词以及它对应的 B 语言翻译。保证所有 不重复;保证 和 的长度不超过 。
最后一行一个字符串 ,表示需要翻译的 A 语言文章。保证字符串 的长度不超过 ,保证字符串 只包含小写字母以及标点符号 !()-[]{}\\|;:'",./?<>。
输出格式
输出一行,表示翻译后的结果。
样例输入
样例输入 1
2
abc a
d def
abc.d.d.abc.abcd
样例输入 2
3
abc a
d def
abcd xxxx
abc,(d)d!-abc?abcd
样例输入 3
1
abcdefghij klmnopqrst
!()-[]{}\|;:'",./?<>abcdefghijklmnopqrstuvwxyz
样例输出
样例输出 1
a.def.def.a.UNK
样例输出 2
a,(def)def!-a?xxxx
样例输出 3
!()-[]{}\|;:'",./?<>UNK
样例解释
对于第 1 个样例,词典中包含两个单词:abc 翻译为 a,d 翻译为 def。
文章 abc.d.d.abc.abcd 根据标点符号 . 分割后得到单词序列:abc、d、d、abc、abcd。
其中前四个单词均能在词典中找到,分别替换成 a、def、def、a;最后一个单词 abcd 不在词典中,因此替换为 UNK。
最终保留原有的标点符号,得到输出 a.def.def.a.UNK。
数据范围
- 所有 A 语言单词互不相同,且长度不超过
- 所有 B 语言单词长度不超过
- 文章 的长度不超过 ,且仅由小写字母和标点符号
!()-[]{}\\|;:'",./?<>组成