HDOJ-1075What Are You Talking About(Trie/Map)

来源:互联网 发布:java计算器加减乘除 编辑:程序博客网 时间:2024/05/15 03:54

虽然是Trie专题里面的,不过完全可以用MAP写,于是就用MAP写了一发。自己的字符串处理还是不行,写得太烂了。

#include <cstdio>#include <cstdlib>#include <cstring>#include <map>#include <string>#include <iostream>using namespace std;int main(){    map <string,string>f;    string str1,str2;    char s[10000];    int i;    f.clear();    gets(s);    while(scanf("%s",s),strcmp(s,"END"))    {        str1=s;        scanf("%s",s);        str2=s;        f[str2]=str1;    }    getchar();    gets(s);    while(gets(s),strcmp(s,"END"))    {        str1="";        for(i=0;i<=strlen(s);i++)        {            if(s[i]>='a' && s[i]<='z' && i<strlen(s))            {                str1+=s[i];            }            else            {                if(f.count(str1)) cout<<f[str1]; else cout<<str1;                if(i<strlen(s))cout<<s[i];                str1="";            }        }        cout<<endl;    }    return 0;}


0 0