[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;
}
posted @ 2018-03-16 11:16  XSamsara  阅读(102)  评论(0编辑  收藏  举报