UVa156(map的使用)

来源:互联网 发布:东方财富软件使用 编辑:程序博客网 时间:2024/05/29 02:59

//思路:用map<string,int>记录重排string后出现的次数,如果为1次,就是我们想要的结果


AC源码:

#include <iostream>#include <string>#include <vector>#include <algorithm>#include <map>#include <cctype>using namespace std;map<string,int> cnt;vector<string> svec;void solve(){string buf;while(cin>>buf){if(buf=="#")break;svec.push_back(buf);for(int i=0;i<buf.length();++i)buf[i]=tolower(buf[i]);sort(buf.begin(),buf.end());if(!cnt[buf])cnt[buf]=0;cnt[buf]++;}sort(svec.begin(),svec.end());vector<string> ans;for(int i=0;i<svec.size();++i){string tmp=svec[i];for(int i=0;i<tmp.length();++i)tmp[i]=tolower(tmp[i]);sort(tmp.begin(),tmp.end());if(cnt[tmp]==1)ans.push_back(svec[i]);}for(int i=0;i<ans.size();++i)cout<<ans[i]<<endl;}int main(){solve();return 0;}


原创粉丝点击