题目
原题链接:B. Lecture
题意
输入m次两个长度不超过10的单词,存短的那个,接下来给n个单词,输出最短的单词。看看样例就很好理解。
代码
#include<bits/stdc++.h>
using namespace std;
map<string,string> s;
int main() {
int n,m;
string a,b;
scanf("%d %d",&n,&m);
for(int i=0; i<m; i++) {
cin>>a>>b;
if(a.length()>b.length()) {
s[a]=b;
} else {
s[b]=a;
}
}
for(int i=0; i<n; i++) {
cin>>a;
if(s.count(a)>0) cout<<s[a];
else cout<<a;
if(i==n-1) cout<<endl;
else cout<<" ";
}
return 0;
}