欢迎访问 生活随笔!

生活随笔

当前位置: 首页 >

uva 156 Ananagrams

发布时间:2025/3/15 25 豆豆
生活随笔 收集整理的这篇文章主要介绍了 uva 156 Ananagrams 小编觉得挺不错的,现在分享给大家,帮大家做个参考.

题目大意:


输入一些单词,找出所有满足条件的单词,该单词不能通过重排,得到输入文本的另一个单词,在判断满足条件时,不区分大小写,但在输出时保留输入的大小写,按字典序排序



解体思路:



把所有单词保存,在重排后的单词保存在map中,看有map的键是几,最后在vector中保存的单词在map中,如果是1就保存在新的vector中,,最后排序输出



#include<stdio.h> #include<algorithm> #include<map> #include<vector> #include<iostream> #include<string> using namespace std; map<string,int> mp; vector<string> v; string repi(string s){string ans=s;for(int i=0;i<ans.size();i++){ans[i]=tolower(ans[i]);}sort(ans.begin(),ans.end());return ans; }int main(){string s;while(cin>>s && s[0]!='#'){v.push_back(s);string r=repi(s);if(!mp.count(r)) mp[r]=0;mp[r]++;}vector<string> ans;for(int i=0;i<v.size();i++){if(mp[repi(v[i])]==1) ans.push_back(v[i]);}sort(ans.begin(),ans.end());for(int i=0;i<ans.size();i++){cout<<ans[i]<<endl;}return 0; }

转载于:https://www.cnblogs.com/Double-LL/p/6658915.html

总结

以上是生活随笔为你收集整理的uva 156 Ananagrams的全部内容,希望文章能够帮你解决所遇到的问题。

如果觉得生活随笔网站内容还不错,欢迎将生活随笔推荐给好友。