POJ 2503 Babelfish(map入门)

题目链接:http://poj.org/problem?id=2503

代码:

#include<cstdio>
#include<string>
#include<map>
#include<iostream>
using namespace std;
int main(void){
    char english[11],foreign[11];
    map<string,bool>appear;  //记录foreign与english的配对映射是否出现
    map<string,string>translate; //记录foreign到english的映射
    char ch;
    while((ch=getchar())!=‘\n‘){
        english[0]=ch;
        scanf("%s%s",english+1,foreign);
        appear[foreign]=true;
        translate[foreign]=english;
        getchar();
    }
    char word[11];
    while(~scanf("%s",word)){
        if(appear[word]) cout<<translate[word]<<endl;
        else puts("eh");
    }
    return 0;
}  

另附一个大神的做法:https://www.cnblogs.com/shenben/p/5619304.html

虽然运行很慢(我的做法的2倍),不过思路很直接。

#include<cstdio>
#include<cstring>
#include<string>
#include<iostream>
#include<map>
using namespace std;
map<string,string>m;
char s[30],x[11],y[11];
int main(){
    while(1){
        gets(s);
        if(s[0]==‘\0‘) break;
        sscanf(s,"%s %s",x,y);//分割
        m[y]=x;
    }
    while(gets(y)){
        if(m[y]=="") cout<<"eh"<<endl;
        else cout<<m[y]<<endl;
    }
    return 0;
}

原文地址:https://www.cnblogs.com/fushang/p/8469819.html

时间: 2024-11-08 21:48:03

POJ 2503 Babelfish(map入门)的相关文章

poj 2503 Babelfish(Map、Hash、字典树)

题目链接:http://poj.org/bbs?problem_id=2503 思路分析: 题目数据数据量为10^5, 为查找问题,使用Hash或Map等查找树可以解决,也可以使用字典树查找. 代码(Map实现): #include <iostream> #include <sstream> #include <string> #include <map> using namespace std; int main() { char word[15], fo

poj 2503 Babelfish (map,trie 树)

链接:poj 2503 题意:输入 语言A及翻译为语言B的词典,之后再输入语言B的单词,判断是否能从词典中找到, 若能找到,将其翻译为语言A,否则输出"eh". 思路:这题肯定得先将词典对应语言存起来,但是如果直接暴力找输入的单词是否出现过,必然会TLE 因为单词都是一对一的关系,可以用map实现 当然,trie树是用空间换时间,对于字符串的查找,在时间上有着相当的优势,因此也可以用trie树 注:sscanf函数,从一个字符串中读进与指定格式相符的数据. map实现:938MS #i

poj 2503:Babelfish(字典树,经典题,字典翻译)

Babelfish Time Limit: 3000MS   Memory Limit: 65536K Total Submissions: 30816   Accepted: 13283 Description You have just moved from Waterloo to a big city. The people here speak an incomprehensible dialect of a foreign language. Fortunately, you have

POJ 2503 Babelfish (Trie树 或 map)

Babelfish Time Limit: 3000MS        Memory Limit: 65536K Total Submissions: 34278        Accepted: 14706 Description You have just moved from Waterloo to a big city. The people here speak an incomprehensible dialect of a foreign language. Fortunately

题解报告:poj 2503 Babelfish(map)

Description You have just moved from Waterloo to a big city. The people here speak an incomprehensible dialect of a foreign language. Fortunately, you have a dictionary to help you understand them. Input Input consists of up to 100,000 dictionary ent

poj 2503 Babelfish

题目链接:http://poj.org/problem?id=2503 题目大意:就是给你一本词典,问你能否在词典中找到你要查询单词的意思,不能就输出eh 思路:map的入门级题,直接词典中的词组存到map中,然后直接查询.就是有些细节需要注意 code: #include<cstdio> #include<iostream> #include<cmath> #include<string> #include<map> using namespa

POJ 2503 Babelfish(字典树)

题目链接:http://poj.org/problem?id=2503 题意:翻译单词,若在词典中找不到则输出eh. 思路:裸的字典树. 代码: #include <iostream> #include <stdio.h> #include <string.h> #include <math.h> #include <algorithm> #include <string> #include <vector> using

poj 2503 Babelfish(字典树或着STL)

Babelfish Time Limit: 3000MS   Memory Limit: 65536K Total Submissions: 35828   Accepted: 15320 Description You have just moved from Waterloo to a big city. The people here speak an incomprehensible dialect of a foreign language. Fortunately, you have

POJ 2503 Babelfish qsort+bserach

Babelfish Time Limit: 3000MS   Memory Limit: 65536K Total Submissions: 36951   Accepted: 15743 Description You have just moved from Waterloo to a big city. The people here speak an incomprehensible dialect of a foreign language. Fortunately, you have