您的位置:首页 > 理论基础 > 数据结构算法

POJ2503-Babelfish

2016-08-06 15:42 232 查看
题目链接:点击打开链接

题目大意:给一个字典,前一个单词是英语,后一个是外语,中间个一个空格,之后以空行分割,查询外语的英语对应,没有则输出eh。

数据比较大,什么快排二分,哈希表,字典树什么的都可以过。恩,我选择map水过。。。

#include <cstdio>
#include <cstring>
#include <map>
#include <string>
using namespace std;
int main()
{
int i,j,k;
map<string,string>q;
map<string,string>::iterator it;
char s[22],s1[11],s2[11];
while(gets(s)&&strlen(s))
{
sscanf(s,"%s %s",s1,s2); //这个输入方式非常神奇
q[s2]=s1;
}
while(~scanf("%s",s1))
{
if(q[s1].size())
printf("%s\n",q[s1].c_str());
else
printf("eh\n");
}
return 0;
} 此题输入是大坑。。。。。。。。。之前各种OL,TL,真是烦死我了。
此题潜力不错,可能之后会补正经做法,所以加个标签提醒自己。。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息