学校网站 制作,最好的wordpress,百度指数的特点,杭州平面设计公司排行》》》点我查看「视频」详解》》》
[GESP202312 四级] 小杨的字典
题目描述
在遥远的星球#xff0c;有两个国家 A 国和 B 国#xff0c;他们使用着不同的语言#xff1a;A 语言和 B 语言。小杨是 B 国的翻译官#xff0c;他的工作是将 A 语言的文章翻译成 B 语言的文章… 》》》点我查看「视频」详解》》》
[GESP202312 四级] 小杨的字典
题目描述
在遥远的星球有两个国家 A 国和 B 国他们使用着不同的语言A 语言和 B 语言。小杨是 B 国的翻译官他的工作是将 A 语言的文章翻译成 B 语言的文章。
为了顺利完成工作小杨制作了一本字典里面记录了 N N N 个 A 语言单词对应的 B 语言单词巧合的是这些单词都 由地球上的 26 个小写英文字母组成。
小杨希望你写一个程序帮助他根据这本字典翻译一段 A 语言文章。这段文章由标点符号 !()-.[].{}\|;:,./? 和一些 A 语言单词构成每个单词之间必定由至少一个标点符号分割你的程序需要把这段话中的所有 A 语言单词替换成它的 B 语言翻译。特别地如果遇到不在字典中的单词请使用大写 UNK 来替换它。
例如小杨的字典中包含 2 2 2 个 A 语言单词 abc 和 d它们的 B 语言翻译分别为 a 和 def那么我们可以把 A 语言文章 abc.d.d.abc.abcd. 翻译成 B 语言文章 a.def.def.a.UNK. 其中单词 abcd 不在词典内因此我们需要使用 UNK 来替换它。
输入格式
第一行一个整数 N N N表示词典中的条目数。保证 N ≤ 100 N \le 100 N≤100。
接下来 N N N 行每行两个用单个空格隔开的字符串 A A A B B B ,分别表示字典中的一个 A 语言单词以及它对应的 B 语言翻译。保证所有 A A A 不重复保证 A A A 和 B B B 的长度不超过 10 10 10。
最后一行一个字符串 S S S 表示需要翻译的 A 语言文章。保证字符串 S S S 的长度不超过 1000 1000 1000保证字符串 S S S 只包含小写字母以及标点符号 !()-.[].{}\|;:,./? 。
输出格式
输出一行表示翻译后的结果。
样例 #1
样例输入 #1
2
abc a
d def
abc.d.d.abc.abcd样例输出 #1
a.def.def.a.UNK样例 #2
样例输入 #2
3
abc a
d def
abcd xxxx
abc,(d)d!-abc?abcd样例输出 #2
a,(def)def!-a?xxxx样例 #3
样例输入 #3
1
abcdefghij klmnopqrst
!()-[]{}\|;:,./?abcdefghijklmnopqrstuvwxyz样例输出 #3
!()-[]{}\|;:,./?UNKAC_Code
#include bits/stdc.h
using namespace std;
mapstring, string m;
string t !()-.[].{}\\|;:\\,./?;int main()
{int n;cin n;while(n --){string a, b;cin a b;m[a] b;}string str;cin str;for(int i 0; i str.size(); i ){string ss;int j i;while(j str.size() t.find(str[j]) -1){ss str[j];j ;}if(m.find(ss) ! m.end()) cout m[ss];else if(ss.size()) cout UNK;cout str[j];i j;}return 0;
}》》》点我查看「视频」详解》》》