1 /* 2 映射:map从键(key)到值(value)的映射,因为重载了[]运算符,map像是数组的高级版. 3 */ 4 5 #include <cstdio> 6 #include <iostream> 7 #include <algorithm> 8 #include <map> 9 #include <vector> 10 using namespace std; 11 map<string,int> c; 12 vector <string> word; 13 14 string repr(const string &s) 15 { 16 string ans=s; 17 for(int i=0;i<ans.length();i++) 18 ans[i]=tolower(ans[i]); 19 sort(ans.begin(),ans.end()); 20 return ans; 21 } 22 int main () 23 { 24 int n=0; 25 string s; 26 while(cin >> s) 27 { 28 if(s[0]=='#') 29 break; 30 word.push_back(s); 31 string r=repr(s); 32 if(!c.count(r)) 33 c[r]=0; 34 c[r]++; 35 } 36 vector<string>ans; 37 for(int i=0;i<word.size();i++) 38 if(c[repr(word[i])]==1) ans.push_back(word[i]); 39 sort(ans.begin(),ans.end()); 40 for(int i=0;i<ans.size();i++) 41 cout << ans[i] << endl; 42 return 0; 43 } 44
find函数--查找map的元素。
count函数--统计map中某元素关键字的个数。