qiweigo的专栏

背景:学习stl过程中遇到的简单题,但我不会。

思路:将单词标准化,,然后就可以运用映射map了。

#include <iostream>#include <string>#include <cctype>#include <vector>#include <map>#include <algorithm>using namespace std;map<string,int> cnt;vector<string> words;string repr(const string& s){string ans=s;for(int i=0;i<ans.length();i++)ans[i]=tolower(ans[i]);sort(ans.begin(),ans.end());return ans;}int main(){string s;while(cin>>s){if(s[0]=='#') break;words.push_back(s);string r=repr(s);if(!cnt.count(r)) cnt[r]=0;//标记该单词是否已经出现过cnt[r]++;}vector<string> ans;for(int i=0;i<words.size();i++)if(cnt[repr(words[i])]==1) ans.push_back(words[i]);sort(ans.begin(),ans.end());for(int i=0;i<ans.size();i++)cout <<ans[i]<< endl;return 0;}

每一发奋努力的背后,必有加倍的赏赐。

qiweigo的专栏

相关文章:

你感兴趣的文章:

标签云: