紫书UVA 156

map的用法
#include<iostream>
#include<string>
#include<vector>
#include<map>
#include<cstdio>
#include<algorithm>
using namespace std;
map<string,int>cnt;
vector<string> words;
string repr(const string &s)
{
    string t=s;
    for(int i=0;i<s.length();i++)
    {
        t[i]=tolower(s[i]);
    }
    sort(t.begin(),t.end());
    return t;
}
int main()
{
    string a;
    while(cin>>a&&a[0]!='#')
    {
        words.push_back(a);
        string r=repr(a);
        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;
}

posted @ 2018-04-11 19:22  MCQ  阅读(81)  评论(0编辑  收藏  举报