思路
vector( or string word[]) + map(c_sort() 后的映射) + set(排序 or vector + sort())
vector:
1. push_back()
2. size()
3. sort(), begin(), end()
map:
key + value
set:
1. insert()
2. iterator, begin(), end()
#include <iostream>
#include <cstring>
#include <algorithm>
#include <vector>
#include <map>
#include <set>
using namespace std;
vector<string> word;
map<string, int> cnt;
set<string> res;
set<string>::iterator it;
string s;
string c_sort(string s)
{
string ss = s;
for(int i = 0; i < s.size(); i ++ )
ss[i] = tolower(s[i]);
sort(ss.begin(), ss.end());
return ss;
}
int main()
{
while(cin >> s)
{
if(s == "#") break;
word.push_back(s);
cnt[c_sort(s)] ++ ;
}
for(int i = 0; i < word.size(); i ++ )
if(cnt[c_sort(word[i])] == 1)
res.insert(word[i]);
for(it = res.begin(); it != res.end(); it ++ )
cout << *it << endl;
return 0;
}