字典樹一水題,但是我表示壓力很大。。。因爲對字典樹還不熟悉。。。~~~~(>_<)~~~~ 所幸還是先用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;
}