您刚刚从毕节搬到了一个大城市。这里的人说的是一门不可理解的外语。幸运的是,您有一本字典可以帮助您理解它们。
输入格式:
输入最多包含100,000个字典条目,后跟一个空白行,然后是最多100,000个单词的消息。每个字典条目都是一行,包含英文单词,后跟一个空格和一个外语单词。在词典中,没有外来词出现多次。该消息是外语单词序列,每行一个单词。输入中的每个单词都是最多10个小写字母的序列。
输出格式:
输出是将消息翻译成英语,每行一个单词。词典中没有的外来词应翻译为“ eh”。
输入样例:
dog ogday cat atcay pig igpay froot ootfray loops oopslay atcay ittenkay oopslay
输出样例:
1. cat 2. eh 3. loops
思路:用getline一行一行的读入,空行时结束,然后找到空格为分界点, 用map存关系
#include<bits/stdc++.h> using namespace std; int main() { string s; map<string,string>mp; while(getline(cin,s) && s != "") { string x,y; int idx = 0; for(int i=0;i<s.size();i++) if(s[i] == ' ') idx = i; for(int i=0;i<idx;i++) x += s[i]; for(int i=idx+1;i<s.size();i++) y += s[i]; mp[y] = x; } while(cin>>s) { if(mp.find(s) != mp.end()) cout<<mp[s]<<endl; else cout<<"eh\n"; } return 0; }