poj 2503(字符串)

http://poj.org/problem?id=2503

题意:就是翻译,给你一个字典,然后再查找单词,找得到的就输出单词,找不到的输出eh,用Map水题一个,但这个题有点意思的就是输入的问题

 1 #include <iostream>
 2 #include <map>
 3 #include <string>
 4 #include <cstdio>
 5
 6 using namespace std;
 7
 8 int main()
 9 {
10   //  freopen("in.txt","r",stdin);
11     char c[30],d1[15],d2[15];
12     string a,b;
13     map<string,string>s;
14     while(gets(c)&&c[0]!=‘\0‘)
15     {
16         sscanf(c,"%s%s",&d1,&d2);  //这里是把c分成两段。
17         a = d1;
18         b = d2;
19         s[ b ] = a;
20     }
21     while(scanf("%s",c)!=EOF)
22     {
23         a = c;
24         if(s.count(a)) cout<<s[a]<<endl;
25         else cout<<"eh"<<endl;
26     }
27     return 0;
28 }
时间: 2024-10-01 05:08:29

poj 2503(字符串)的相关文章

POJ 2503 字典树

这题记得以前是我们周赛的题,然后用的是map,也暴过了. 因为这两天要给大一的讲字典树,所以练练几道的代码,以防给大一搞晕了-- #include<iostream> #include<cstdio> #include<cstring> #include<algorithm> #include<map> #include<queue> #include<set> #include<cmath> #include

poj 2503 Babelfish (map,trie 树)

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

poj 3461 字符串单串匹配--KMP或者字符串HASH

http://poj.org/problem?id=3461 先来一发KMP算法: #include <cstdio> #include <cstring> #include <algorithm> #include <string> #include <iostream> #include <cmath> #include <map> #include <queue> using namespace std;

字典树模板题 POJ 2503

1 #include <cstdio> 2 #include <cstring> 3 4 char en[11],fr[11]; 5 int st; 6 struct Tire{ 7 int next[26]; 8 char eng[11]; 9 }node[200005]; 10 void insert(char *s,int cur) 11 { 12 if(*s){ 13 if(!node[cur].next[*s-'a']) 14 node[cur].next[*s-'a']

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(字符串)

题 给定字典,再询问. 字典与询问之间有一个空行. cin.peek()是一个指针指向当前字符. #include<iostream> #include<string> #include<map> using namespace std; map<string, string>dic; string s, t; int f; int main() { ios::sync_with_stdio(false); while(cin >> s) if(

POJ 2503 Trie

链接: http://poj.org/problem?id=2503 题意: 给定一些字符串以及它在外星语言中的对应翻译,现在有若外星语言中的串,要把它们翻译成英语 题解: 这道题map,hash,trie都是可以做的 然而我用g++提交发现map和trie都超时了,换成c++就全都过了 map用了1141ms,trie只要485ms 代码: 31 vector<string> word; 32 int pi =1; 33 34 struct Node { 35 int next[26]; 3

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

[题目链接] http://poj.org/problem?id=2503 [算法] 字符串哈希 [代码] #include <algorithm> #include <bitset> #include <cctype> #include <cerrno> #include <clocale> #include <cmath> #include <complex> #include <cstdio> #incl