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很强大!!!

keep moving...
原文地址:https://www.cnblogs.com/xxx0624/p/2908648.html