POJ 2503 Babelfish

来源:互联网 发布:朝鲜有多穷 知乎 编辑:程序博客网 时间:2024/06/07 02:57

题意:给出单词组,然后询问第二个单词,输出第一个单词。如果单词不存在输出eh;单词组的读入以空行作为结束符。这个读入比较麻烦。
解法:map搞一搞。

#include <iostream>#include <cstring>#include <cstdio>#include <string>#include <map>using namespace std;map <string,string> trans;map <string,bool> yes;int main(){    char s[50];    while(1)    {        gets(s);        if(s[0]=='\0') break;        else        {            char a1[20],a2[20];            int i = 0 ,j = 0;            for(j = 0 ; s[i] != ' ' ; j++,i++)            {                a1[j] = s[i];            }            a1[j] = '\0';            i++;            for(j = 0 ; i < strlen(s) ; i++,j++)            {                a2[j] = s[i];            }            a2[j] = '\0';           // printf("%s %s",a1,a2);            yes[a2] = true;            trans[a2] = a1;        }    }    while(scanf("%s",s)!=EOF)    {        if(yes[s])            cout<<trans[s]<<endl;        else cout<<"eh"<<endl;    }    return 0;}
0 0
原创粉丝点击