HDU1113 字符串处理

题意:给定一个字典,给定一些询问,对于每个询问,在字典中找出与之匹配的单词(匹配的规则:两者的排序之后结果是相同的)

View Code
 1 #include<stdio.h>

 2 #include<string>

 3 #include<map>

 4 #include<iostream>

 5 #include<algorithm>

 6 using namespace std;

 7 map<string,string>mp;

 8 string my_end="XXXXXX";

 9 int main(){

10     string s,temp;

11     while( cin>>s && s!=my_end ){

12         temp=s;

13         sort( temp.begin(),temp.end() );

14         mp[ s ]=temp;

15     }

16     while( cin>>s && s!=my_end ){

17         temp=s;

18         sort( temp.begin(),temp.end() );

19         int flag=0;

20         for( map<string,string>::iterator it =mp.begin();it!=mp.end();it++ ){

21             if( it->second==temp ){

22                 flag=1;

23                 cout<<it->first<<endl;

24             }

25         }

26         if(!flag) 

27             cout<<"NOT A VALID WORD"<<endl;

28         cout<<"******"<<endl;

29     }

30     return 0;

31 }

stl很强大!!!

你可能感兴趣的:(字符串处理)