UVA 156Ananagrams
来源:互联网 发布:pc群控手机源码 编辑:程序博客网 时间:2024/04/28 23:47
题目大意:给你一些单词,忽略大小写,忽略单词内部的排列顺序,找出那些只出现一次的单词,按字典序输出。例如:Abc,bca,CAB这些都算同一个单词。
既然忽略排列大小写和排列顺序,那么我们就把它们都变成小写好了;既然忽略排列顺序,就按从大大小排列好了。每读入一个单词,就处理一下,如上例中的单词就都变成了abc。这样就好做了。
处理好之后,就用map,把处理好的单词和原单词做一个对应。加入set,输出就好了。
#include<string>#include<map>#include<iostream>#include<algorithm>using namespace std;string s,s1;void msort(){ char ch; for(int i = 0;i < s.length();i++) s[i] = tolower(s[i]); for(int i = 0;i<s.length();i++){ for(int j = s.length() - 1;j > i;j--){ if (s[j] < s[j - 1]){ ch = s[j]; s[j] = s[j - 1]; s[j - 1] = ch; } } }}int main(){ map<string,string> a; map<string,int> b; while(cin>>s,s[0] != '#'){ s1 = s; msort(); b[s] ++; a[s1] = s; } for(map<string,string>::iterator it = a.begin(); it != a.end();++it){ if (b[it->second] == 1)cout<<it->first<<endl; } return 0;}
0 0
- UVa 156 - Ananagrams
- uva 156 Ananagrams
- UVA 156 - Ananagrams
- UVA 156 - Ananagrams
- UVa 156 - Ananagrams
- uva 156 - Ananagrams
- uva- 156-Ananagrams
- UVa 156 - Ananagrams
- UVA 156 - Ananagrams
- UVa 156 - Ananagrams
- UVa 156 - Ananagrams
- UVA 156 Ananagrams
- uva 156 - Ananagrams
- UVa - 156 - Ananagrams
- uva 156 Ananagrams
- UVa 156 - Ananagrams
- UVA - 156 - Ananagrams
- Uva:156 - Ananagrams
- 多线程实现之Java
- HTML5都有哪些功能?
- 教你如何使用微信网页版“抓取”微信撤回消息
- duilib加载资源
- 帧率、码流、分辨率
- UVA 156Ananagrams
- HDU 5692 Snacks DFS序 + 线段树区间更新
- easyui datagrid 行编辑功能
- custom a switch
- java基础---定时任务timer
- QString包含中文时与char *转换
- 重庆小面
- request.getRemoteAddr()怎么获取访问者的ip啊?
- 状态模式