Babelfish
題目描述
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 100,000 dictionary entries, followed by a blank line, followed by a message of up to 100,000 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 sequence of at most 10 lowercase letters.?
輸出
Output is the message translated to English, one word per line. Foreign words not in the dictionary should be translated as "eh".??
樣例輸入
dog ogday cat atcay pig igpay froot ootfray loops oopslayatcay ittenkay oopslay?
樣例輸出
cat eh loops?
提示
Huge input and output,scanf and printf are recommended.
題目大意:事先給你一些字典中一個單詞對應的字符串? 然后詢問一些字符串輸出對應的字典單詞? ?如果找不到輸出eh 利用STL中的map 輸入感覺很麻煩?轉載于https://blog.csdn.net/keshuai19940722/article/details/9991699 sscanf與scanf類似,都是用于輸入的,只是后者以鍵盤(stdin)為輸入源,前者以固定字符串為輸入源。 #include <iostream> #include <string> #include <map> #include <cstdio>using namespace std; const int maxn = 1005;int main() {map<string,string> m;char str[maxn];char word[maxn];char ans[maxn];while(gets(str)&&str[0]!='\0'){sscanf(str,"%s%s",ans,word);m.insert(pair<string,string>(word,ans));}char q[maxn];while(gets(q)){if(m.find(q)==m.end())cout<<"eh"<<endl;elsecout<<m[q]<<endl;}return 0; }如果找不到? ? 它返回的迭代器等于end函數返回的迭代器
轉載于:https://www.cnblogs.com/hao-tian/p/9439257.html
總結
- 上一篇: 浙江利捷分析报告(0608)
- 下一篇: 数据迁移工具(数据库之间进行数据库迁移所