[POJ 2503] Babelfish【二分查找】
题目大意
给你一个词典,每行有两个字符串x,y,表示y翻译成x。
一行空行隔开。
给你一些单词y,问你翻译后的x,如果词典里没有,那么就输出”eh”
解题报告
C++调map,还可以二分查找。
#include<map>
#include<cstdio>
#include<cstring>
#include<iostream>
using namespace std;
map <string,string> vis;
char s[30],x[30],y[30];
int main(){
vis.clear();
while(gets(s)&&s[0]!='\0'){
sscanf(s,"%s %s",x,y);
vis[y]=x;
}
while(gets(s)){
if(vis.find(s)!=vis.end()) printf("%s\n",vis[s].c_str());
else printf("eh\n");
}
return 0;
}