POJ 2503 Babelfish(map入门)
Posted 负熵
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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; }
以上是关于POJ 2503 Babelfish(map入门)的主要内容,如果未能解决你的问题,请参考以下文章
POJ-2503 Babelfish---map或者hash
POJ2503 Babelfish map或者hash_map