UVA156 Ananagrams(字符串处理)
来源:互联网 发布:unity3d人物控制脚本 编辑:程序博客网 时间:2024/05/18 22:12
题目:
思路:
给出一篇文章,以“#”结束,要求找出满足以下条件的字符串:
- 该单词不能通过字母的重新排列组成文章中出现的另一个单词
- 在判断满足条件时不区分大小写,但是在输出时要区分
- 输出时按照字典序输出
我们把每一个单词转换成小写,排序,用map记录出现的次数
代码
#include <cstdio>#include <cstring>#include <cctype>#include <string>#include <set>#include <iostream>#include <stack>#include <map>#include <cmath>#include <queue>#include <vector>#include <algorithm>#define mem(a,b) memset(a,b,sizeof(a))#define inf 0x3f3f3f3f#define N 10000+20#define ll long longusing namespace std;map<string,int>mp;vector<string>v;string str(string s)//把字符串进行标准化,排序{ for(int i=0; i<s.length(); i++) s[i]=tolower(s[i]); sort(s.begin(),s.end()); return s;}int main(){ string s; while(cin>>s&&s!="#") { v.push_back(s); string r=str(s); mp[r]++; } vector<string>ans; for(int i=0; i<v.size(); i++) if(mp[str(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;}
阅读全文
0 0
- UVA156 Ananagrams(字符串处理)
- UVa156 Ananagrams
- UVA156 Ananagrams
- Ananagrams uva156
- UVA156 - Ananagrams
- UVA156-Ananagrams
- UVA156-Ananagrams
- UVA156 Ananagrams
- UVA156 Ananagrams
- Ananagrams Uva156
- Ananagrams UVa156
- uva156 Ananagrams
- UVa156 Ananagrams,map
- Uva156——Ananagrams
- 反片语 Ananagrams,UVa156
- uva156 Ananagrams (stl map的使用)
- UVA156-5.4-Ananagrams-映射(map)
- map函数的应用:UVa156-Ananagrams
- 关于Android studio 报错:[clean, :app:generateDebugSources, :app:generateDebugAndroidTestSources, :app:mo
- python进阶强化-5
- 【Linux】bash shell scripts
- Python分词练习
- LeetCode——627. Swap Salary(数据库,sql)
- UVA156 Ananagrams(字符串处理)
- 2017杭电多校联赛第三场-RXD and dividing (hdu6060)最小生成树
- [Unity]调用GL.IssuePluginEvent()后dll中UnityRenderEvent()不执行的问题
- ocp Oracle.1z0-053 711--123
- HDU 3038 带权并查集
- HDU 6051原根 + 欧拉函数
- Python程序打包成exe可执行文件
- Git和SVN切换
- 黑卡地面分辨率