UVa 156 Ananagrams

来源:互联网 发布:龙珠超 知乎 编辑:程序博客网 时间:2024/05/20 16:43

按字典序输出符合要求的单词(大小写敏感)

#include <map>#include <vector>#include <stdio.h>#include <sstream>#include <string.h>#include <iostream>#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(){//    freopen("in.txt", "r", stdin);    string s;    while(cin >> s){        if(s[0] == '#') break;        words.push_back(s);///存储原来单词的vector        string r = repr(s);        if(!cnt.count(r))   cnt[r] = 0;        cnt[r]++;    }    vector <string> ans;///存储答案的vector    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;}


 

0 0
原创粉丝点击