问题 G: 懒省事的小名
时间限制: 1 Sec 内存限制: 12 MB[ 提交][ 状态][ 讨论版]
题目描述
小名总结了一个英语近义词的词典(很厚哦,有多厚,你猜),词典实在太厚了,你需要帮助他写一个程序,输入一个单词,输出它的近义词
输入
第一行输入近义词的个数N和小名要查询的行数M
接下来N行为近义词对
M行单词,根据单词,输出它的近义词
输出
输出近义词,每个近义词占一行
样例输入
2 2
abc cba
aaa bbb
abc
aaa
样例输出
cba
bbb
#include<iostream>
#include<map>
#include<string>
using namespace std;
int main()
{
int n,m ;
scanf("%d %d",&n,&m);
map<string,string> s;
string s1,s2,s3;
for(int i=0;i<n;i++)
{
cin>>s1>>s2;
s[s1]=s2;
}
for(int i=0;i<m;i++)
{
cin>>s3;
map<string,string>::iterator it;
for(it=s.begin();it!=s.end();it++)
{
if(it->first==s3)
{
cout<<it->second<<endl;
break;
}
if(it->second==s3)
{
cout<<it->first<<endl;
break;
}
}
}
return 0;
} //比赛的时候脑子里一团浆糊,忘了怎么用find来寻找了。。。