C++——有关<map>的例题——单词翻译

来源:互联网 发布:数据恢复精灵免费版 编辑:程序博客网 时间:2024/06/08 13:11

题目描述

众所周知,Mr.Zeng 不会说英语,他会使用 A 语言。因为我们的国家已经加入世贸组织,他感受到了压力,已经在开始学习英语。现在需要你用计算机来帮助他做一些翻译工作。

输入格式

输入 N(1≤N≤100005)个词典条目,每个字典条目占一行,分别包含一个英语单词、一个空格和一个该英语单词对应的A语言单词。词典中每个 A 语言单词出现一次。
接着一个空行。
然后是多达M(1≤M≤100005)个需要翻译的A语言单词,每行一个单词。
输入的每个单词最多 10 个小写字母。 

输出格式

对于每个 A 语言单词,请你在输入的词典中找出它对应的英语单词,每行一个单词。
如果 A 语言单词在词典中没出现,就输出“eh”。

样例数据 1

输入

dog ogday 
cat atcay 
pig igpay 
froot ootfray 
loops oopslay 

atcay 
ittenkay 
oopslay

输出

cat 
eh 
loops

#include<iostream>#include<cstdio>#include<map>using namespace std;map<string,string> s;map<string,bool> v;char al[30],a[12],b[12];int main(){while(true){gets(al);if(al[0]==0) break;sscanf(al,"%s%s",a,b);s[b]=a;v[b]=true; }while(scanf("%s",a)!=EOF){if(v[a]) printf("%s\n",s[a].c_str());else puts("eh");}return 0;} 


原创粉丝点击