小明学单词
大家好,我是隔壁老王,经过一阵疯狂手打,敲完了这一篇,希望大家多多关注我!!!
题目简介:
小明在学单词的时候遇到了困难,所以她打算把两个单词联系在一起记忆,现在她想考考你有没有记住其中一个单词的另一个是哪个。
输入:
第一行有两个整数n(n≤10000),m(m≤10000)。表示小明把n组单词联系在一起记忆。她考了你m次。接下来n行每行两个单词用空格隔开,单词长度不超过10。接下来m行,每行一个单词。
输出:
共m行,每一行表示与输入单词联系的单词,如果没有输出eh。
样例输入:
5 3
dog ogday
cat atcay
ig igpay
froot ootfray
loops oopslay
atcay
ittenkay
oopslay
题目出处:https://jsswoj.com/oj/#main/show/1420
这道题明显使用过映射来完成的,为了方便,我们继续用stl,可是与上一篇不同,这次用的是map。map普通的用法十分简单,但是记得包含头文件map,直接暴力上代码!!!
code
#include<map>
#include<string>
#include<iostream>
using namespace std;
map<string,string>a;
main(){
ios::sync_with_stdio(false);
cin.tie(0);
int n,m;
cin>>n>>m;
for(int i=0;i<n;i++){
string str1,str2;
cin>>str1>>str2;
a[str1]=str2;
a[str2]=str1;
}
for(int i=0;i<m;i++){
string str;
cin>>str;
if(a[str].empty()){cout<<"eh\n";continue;}
cout<<a[str]<<endl;
}
return 0;
}
大家请多多支持,最好是关注我【坏笑】,得到更多点拨和题解哦!!
下一章——stl之queue