uva156反片语
来源:互联网 发布:洪恩软件开天辟地下载 编辑:程序博客网 时间:2024/05/21 20:24
题目大意:找出所有满足以下条件的单词:该单词不能通过字母重排得到输入文本中的另外一个单词。(即将单词字典序排序后不能在输入文本中找到第二个一样的单词) 在判断是否满足条件时不分大小写,但在输出时应保留输入的大小写,并把结果按字典序排列(所有大写字母在小写字母前面)。
题目链接–
#include<iostream>#include<set>#include <cstdio>#include <cstdlib>#include <cstring>#include <map>#include <vector>#include <cmath>#include <algorithm>using namespace std;map<string,int>cnt;vector<string>ans;string re(string x)//此函数是将字符串全变为小写后进行字典序排序{ int xlen=x.length(); for(int i=0;i<xlen;i++) x[i]=tolower(x[i]); sort(x.begin(),x.end()); return x;}int main(){ string s; while(cin>>s) { if(s[0]=='#') break; ans.push_back(s); string r=re(s); if(!cnt.count(r)) cnt[r]=0; cnt[r]++; } vector<string>word; for(int i=0;i<ans.size();i++) { if(cnt[re(ans[i])]==1) word.push_back(ans[i]); } sort(word.begin(),word.end()); for(int i=0;i<word.size();i++) cout<<word[i]<<endl; return 0;}
ps:此题用到stl中的map,map像是一个数组的高级版。
插入:push_back()
求数组长度:size()
求数组中第一个元素:begin()
求数组中最后一个元素:end()
阅读全文
0 0
- UVA156-反片语
- uva156反片语
- 反片语 Ananagrams,UVa156
- UVa156 反片语
- uva156反片语
- 例题:反片语(UVa156)
- 例题5-4 反片语 UVa156
- uva156(标准化+map)反片语
- 《算法竞赛入门经典2ndEdition 》例题5-4 反片语(Ananagrams, Uva156)
- 算法之路二:刘汝佳算法竞赛入门经典:STL映射 反片语UVA156
- 反片语
- 反片语
- UVA 156 反片语
- UVa 156 反片语
- 反片语(Ananagrams)
- UVA-156 反片语
- uvaoj-156:反片语
- map应用:反片语
- Spring Boot快速入门
- this关键字
- Class.getResourceAsStream
- 多媒体中常见的编解码方式和容器格式
- php 时间格式设置和登陆获取ip的方法
- uva156反片语
- struts2与springMvc下的AJax异步数据交互2
- 修改适用于ARM平台上的Ubuntu rootfs(根文件系统)
- IllegalArgumentException: Scrapped or attached views may not be recycled. isScrap:false isAttached:t
- jps 、jstack命令详解
- 《慕课网玩转算法面试》笔记及习题解答3.7 ~3.8
- java全局变量和局部变量
- 全局安装cnpm
- Js小知识 1