【UVa】[156]Ananagrams
2016-05-19 07:46
453 查看
记录每个string出现次数
然后只出现一次的即是结果
可以用map做String到int的映射
#include<iostream> #include<string> #include<cctype> #include<vector> #include<map> #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() { int n=0; string s; while(cin>>s) { if(s[0]=='#') break; words.push_back(s); string r=repr(s); // printf("-%d-%s-%d-",cnt.count(r),r.c_str(),cnt[r]); /* if(!cnt.count(r)) cnt[r]=0; 不加的话也可以 应该是为了初始化 */ cnt[r]++; // printf("%d\n",cnt[r]); } vector<string>ans; 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]<<"\n"; return 0; } //通过map记录string对应的出现次数
题目地址:【UVa】[156]Ananagrams
相关文章推荐
- Android之获取手机上的图片和视频缩略图thumbnails
- android string.xml文件中的整型和string型代替
- Android java 与 javascript互访(相互调用)的方法例子
- android Google Map获取地理位置信息的方法
- Spark RDD API详解(一) Map和Reduce
- Python中map()函数浅析
- Android使用Google Map浅谈
- android上改变listView的选中颜色
- String.intern
- Prototype源码浅析 String部分(二)
- Ruby中的String对象学习笔记
- PostgreSQL ERROR: invalid escape string 解决办法
- Erlang中的映射组Map详细介绍
- 浅谈C++中的string 类型占几个字节
- 标准C++类string的Copy-On-Write技术
- c++中map的基本用法和嵌套用法实例分析
- C++实现string存取二进制数据的方法
- C#中string和StingBuilder内存中的区别实例分析
- 详解C++中实现继承string类的MyString类的步骤
- PHP STRING 陷阱原理说明