虽然是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;
}