zoukankan      html  css  js  c++  java
  • POJ 2503-Babelfish(map)

    题目地址:POJ 2503
    题意:输入一个字典。字典格式为“英语 外语”的一一映射关系然后输入若干个外语单词。输出他们的 英语翻译单词,假设字典中不存在这个单词,则输出“eh”。
    思路:用map存取外语和英语的映射关系,然后找就好了。注意输入格式。

    #include <stdio.h>
    #include <math.h>
    #include <string.h>
    #include <stdlib.h>
    #include <iostream>
    #include <sstream>
    #include <algorithm>
    #include <set>
    #include <queue>
    #include <stack>
    #include <map>
    #pragma comment(linker, "/STACK:102400000,102400000")
    using namespace std;
    typedef __int64  LL;
    const int inf=0x3f3f3f3f;
    const double pi= acos(-1.0);
    const double esp=1e-7;
    map<string,string>mp;
    char str1[110],str2[110],str[110];
    int main()
    {
        int n;
        mp.clear();
        while(1){
                gets(str);
                if(!strcmp(str,"")) break;
                sscanf(str,"%s%s",str1,str2);
                mp[str2]=str1;
        }
        while(~scanf("%s",str)){
            if(mp.find(str)==mp.end())
                puts("eh");
            else
                printf("%s
    ",mp[str].c_str());//c_str是直接返回一个以/0结尾的字符串,仅仅能使用一次。
        }
        return 0;
    }