hdu 1075 map

题意:给一个字典,和一句话,翻译一下

奇怪的格式

Sample Input

START

from fiwo

hello difh

mars riwosf

earth fnnvk

like fiiwj

END

START

difh, i‘m fiwo riwosf.

i fiiwj fnnvk!

END

Sample Output

hello, i‘m from mars.

i like earth!

 1 #include<cstdio>
 2 #include<iostream>
 3 #include<algorithm>
 4 #include<cstring>
 5 #include<cmath>
 6 #include<queue>
 7 #include<map>
 8 using namespace std;
 9 #define MOD 1000000007
10 const double eps=1e-5;
11 #define cl(a) memset(a,0,sizeof(a))
12 #define ts printf("*****\n");
13 const int MAXN=1005;
14 map<string,string> mp;
15 int n,m,tt;
16 int main()
17 {
18     int i,j,k;
19     #ifndef ONLINE_JUDGE
20     freopen("1.in","r",stdin);
21     #endif
22     string str1,str2;
23     cin>>str1;
24     while(cin>>str1)
25     {
26         if(str1=="END") break;
27         cin>>str2;
28         mp[str2]=str1;
29     }
30     cin>>str1;
31     char ch;
32     ch=getchar();
33     str1="";
34     while(1)
35     {
36         while(1)
37         {
38             scanf("%c",&ch);
39             if(!((ch>=‘a‘&&ch<=‘z‘)||(ch>=‘A‘&&ch<=‘Z‘)))   break;
40             str1+=ch;
41         }
42         if(str1=="END") break;
43         if(mp.find(str1)==mp.end()) cout<<str1;    //并未在字典中找到
44         else cout<<mp[str1];
45         str1="";
46         printf("%c",ch);    //符号或空格
47     }
48     return 0;
49 }
时间: 2024-10-16 05:22:20

hdu 1075 map的相关文章

HDU 1075 map or 字典树

What Are You Talking About Time Limit: 10000/5000 MS (Java/Others)    Memory Limit: 102400/204800 K (Java/Others)Total Submission(s): 12773    Accepted Submission(s): 4069 Problem Description Ignatius is so lucky that he met a Martian yesterday. But

hdu 1075 map的使用 字符串截取的常用手段 以及string getline 使用起来的注意事项

首先说字符串的截取套路吧 用坐标一个一个的输入 用遍历的方式逐个去检查字符串中的字符是否为符合的情况 如果是的话 把该字符放入截取string 中 让后坐标前移 如果不是的话 截取结束 坐标初始化 然后是map的使用 头文件为 <map> 定义的话 map<类型,类型> 变量名 对于map中值的传入的话 直接用数组的形式就好 这里由于有搜索 所以还要用到find函数   如果找不到的话 find返回值为end() 再就是string 类型变量的使用要注意 string类型的变量在下

HDU 1075 What Are You Talking About (map解法+Trie解法)

HDU 1075 What Are You Talking About (map解法+Trie解法) ACM 题目地址: HDU 1075 What Are You Talking About 题意: 给出一个"翻译-原文"的对应表,然后给出句子,要把句子中的原文都翻译出来. 分析: 可以用map赤裸裸地做,但是比较花费时间,虽然这题时间给了5s,map解法是能过的. 不过Trie解法500+ms,果然Trie字典树才是正解啊. Trie入门题. 另外发现ios_base::sync_

HDU 1075 What Are You Talking About (Trie树)

题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1075 map可以过...我上的字典树,小bug有点尴尬,题目没有明确给出数据范围也是无奈. 贡献了几次RE 一次WA.尴尬.discuss里面有个说注意前缀的到是给了点tip.总体来说不错 代码: 1 #define _CRT_SECURE_NO_WARNINGS 2 #include <functional> 3 #include <algorithm> 4 #include <

HDU 1075 What Are You Talking About Trie题解

翻译火星语,不过火星语也是使用英文单词的,就是把一个单词对应到另外一个单词. 可以使用map, 使用二分,方法很多. 不过最快的应该都是Trie解法了. 把火星语挂在Trie树中,然后在叶子节点增加一个string容器,装英语单词. 查找的时候,找到了出现在Trie中的火星语,就返回string就可以了. #include <stdio.h> #include <string> #include <string.h> using namespace std; const

HDU 1075 What Are You Talking About(Trie的应用)

What Are You Talking About Time Limit: 10000/5000 MS (Java/Others)    Memory Limit: 102400/204800 K (Java/Others) Total Submission(s): 20680    Accepted Submission(s): 6852 Problem Description Ignatius is so lucky that he met a Martian yesterday. But

hdu 1247 map的使用

http://acm.hdu.edu.cn/showproblem.php?pid=1247 Hat’s Words Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)Total Submission(s): 7760    Accepted Submission(s): 2814 Problem Description A hat’s word is a word in the

hdu 4941 map的应用+离散

1 #include<iostream> 2 #include<cstdio> 3 #include<map> 4 #include<algorithm> 5 using namespace std; 6 7 int main() 8 { 9 int T,n,m,k,a,b,c,q,cas=1; 10 scanf("%d",&T); 11 while(T--) 12 { 13 map<int,map<int,int&g

HDU 4287 &lt;map&gt;的使用

对于这道题我主要要讲得是STL中map的简单使用. 先说说map的用处. map就是从键(key)到值(value)的映射.因为重载了[]运算符,map像数组的"高级版",例如可以用一个map<string,int>month_name来表示"月份名字到月份编号"的映射,然后用month_name["July"] = 7这样的方式来赋值. 它的意思就是map<string,int>month_name表示[ ] 里面代表的