字典树一水题,但是我表示压力很大。。。因为对字典树还不熟悉。。。~~~~(>_<)~~~~ 所幸还是先用map过了再来写tire。
题目出处:http://acm.hdu.edu.cn/showproblem.php?pid=1075
表示STL map很给力,string太坑人了!!!!!!!!!还我从10点开始到现在。。。。。要死了,要死了,要死了。。。。其实可能根源还在map,谁让map只支持string呢。。。。。。555555。。。。。。因为string类的一个特殊用法害我从10点搞到现在。。。杯具啊。。。。稍微令人激动一点的就是1Y........
PS:map很强大。。。虽然刚学一点点。。。建议有兴趣的童鞋最好学学。。。STL!!!!!!!!!!!!
PS代码:
#include<iostream>
#include<map>
#include<string>
using namespace std;
int main()
{
map<string, string>arr;
string s1,s2,str;
cin>>str>>s1;
while(s1!="END")
{
cin>>s2;
arr.insert(pair<string,string>(s2,s1));
cin>>s1;
}
map<string,string>::iterator iter;
cin>>str;
getchar();
string ss;
while(getline(cin,ss) && ss!="END")
{
int l=ss.size();
string s="";
//bool flag=false;
for(int i=0;i<l;i++)
{
if(ss[i]>='a' && ss[i]<='z')
s+=ss[i];
else
{
if(arr[s]!="")
{
//flag=true;
cout<<arr[s];
}
else
cout<<s;
s="";
cout<<ss[i];
}
}
printf("\n");
}
return 0;
}