You have just moved from Waterloo to a big city. The people here speak an incomprehensible dialect of a foreign language. Fortunately, you have a dictionary to help you understand them.
Input consists of up to 100000100000 dictionary entries, followed by a blank line, followed by a message of up to 100000100000 words. Each dictionary entry is a line containing an English word, followed by a space and a foreign language word. No foreign word appears more than once in the dictionary. The message is a sequence of words in the foreign language, one word on each line. Each word in the input is a non-empty sequence of at most 1010lowercase letters.
Output is the message translated to English, one word per line. Foreign words not in the dictionary should be translated as “eh”.
| Sample Input 1 | Sample Output 1 |
|---|---|
dog ogday cat atcay pig igpay froot ootfray loops oopslay atcay ittenkay oopslay |
cat eh loops |
前面那部分是字典里的,后面就查找给出的字符串有没有属于前面的字典里,有的话就输出那个单词
用map存就行了
#include<bits/stdc++.h> using namespace std; map<string,string> m; int main(){ string line,a,b; while(getline(cin,line)&&line!=""){ stringstream s(line);//格式转换 s>>a; s>>b; m[b]=a; } while(cin>>b){ a=m[b]; cout<<(a==""?"eh":a)<<endl; } }
原文:http://www.cnblogs.com/zhien-aa/p/6284146.html