题目中文翻译:
Description
你刚从滑铁卢搬到了一个大城市。这里的人们说的是一种难以理解的外语方言。幸运的是,你有一本词典来帮助你理解它们。
Input
输入由最多100,000个字典条目组成,后面跟着一个空行,再后面跟着最多100,000个单词的消息。每个字典条目都是一个包含英文单词的行,后跟一个空格和一个外语单词。字典中同一个外语单词不会出现多次。消息是外语中的一系列单词,每行一个单词。输入中的每个单词都是最多10个小写字母的序列。
Output
输出是将信息翻译成英文,每行一个字。外文字词不在字典中应翻译为“eh”。
Sample Input
dog ogday
cat atcay
pig igpay
froot ootfray
loops oopslay
atcay
ittenkay
oopslay
Sample Output
cat
eh
loops
Hint
Huge input and output,scanf and printf are recommended.
解题思路:
用map就可以水过去.
AC代码:
1 #include<iostream> 2 #include<cstdio> 3 #include<string> 4 #include<map> 5 6 using namespace std; 7 8 map<string,string> a; 9 string l,l1,l2; 10 char p,lk; 11 12 int main() { 13 while(true) { 14 lk = getchar(); 15 if(lk == '\n') break; 16 l = lk; 17 while(true) { 18 p = getchar(); 19 if(p == ' ') break; 20 l += p; 21 } 22 lk = getchar(); 23 l1 = lk; 24 while(true) { 25 p = getchar(); 26 if(p == '\n') break; 27 l1 += p; 28 } 29 a[l1] = l; 30 } 31 while(cin >> l2) { 32 if(a.count(l2)) 33 cout << a[l2] << endl; 34 else cout << "eh" << endl; 35 } 36 return 0; 37 }
这篇博客介绍了如何利用Map数据结构解决POJ 2503 Babelfish问题。文章提供了题目的中文翻译,输入输出格式说明,并给出了一段示例输入和输出。博主建议使用scanf和printf处理大输入和输出。解题策略是通过Map存储字典条目,将外语单词翻译成英文,对于不在字典中的单词,则翻译为'eh'。


被折叠的 条评论
为什么被折叠?



