poj-2503-Babelfish-字典树orMAP or 字符串哈希

博客介绍了如何利用字典树数据结构解决POJ-2503 Babelfish的字符串匹配问题。对比了使用map实现的效率(2625ms)和字典树的高效解决方案(532ms)。内容涉及ACM竞赛中的字符串处理技巧以及scanf函数的应用。
摘要由CSDN通过智能技术生成

题意:

  给你一组字符串, 每一行有两个串,a,b;

  输入空行结束

  给你一个串c,问你在前面的第二列的数组中出没出现过,有的话,输出前面的那个,没有的话输出eh

  sscanf函数应用是,把一个串,分割成不同类型的

1. map  2625ms

#include<iostream>
#include<cstdio>
#include<cstring>
#include<string>
#include<algorithm>
#include<map>
#include<queue>
#include<climits>
#include<list>
#define MULT 20000

using  namespace std;

int main()
{
   char ls[30], lk[30],lp[30];
   map<string,string>mapS;
   while(gets(ls))
   {
       if(strlen(ls)==0)
        break;
       sscanf(ls,"%s %s",lk,lp);
       mapS[lp] = lk;
   }
   map<string,string>::iterator iter;
   while(gets(ls))
   {
       iter = mapS.find(ls);
       if(iter!=mapS.end())
       {
            cout<<iter->second<<endl;
       }
       else
        printf("eh\n
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值