Polycarp and Letters(set首战!)
Description
Polycarp loves lowercase letters and dislikes uppercase ones. Once he got a string s consisting only of lowercase and uppercase Latin letters.
Let A be a set of positions in the string. Let's call it pretty if following conditions are met:
- letters on positions from A in the string are all distinct(与众不同的) and lowercase(小写字母的);
- there are no uppercase letters in the string which are situated between positions from A (i.e. there is no such j that s[j] is an uppercase letter, and a1 < j < a2 for some a1 and a2 from A).
Write a program that will determine(确定,下决心) the maximum number of elements(元素) in a pretty set of positions.
Input
The first line contains a single integer n (1 ≤ n ≤ 200) — length of string s.
The second line contains a string s consisting of lowercase and uppercase Latin letters.
Output
Print maximum number of elements in pretty set of positions for string s.
Sample Input
11
aaaaBaabAbA
2
12
zACaAbbaazzC
3
3
ABC
0
Hint
In the first example the desired positions might be 6 and 8 or 7 and 8. Positions 6 and 7 contain letters 'a', position 8 contains letter 'b'. The pair of positions 1 and 8 is not suitable because there is an uppercase letter 'B' between these position.
In the second example desired positions can be 7, 8 and 11. There are other ways to choose pretty set consisting of three elements.
In the third example the given string s does not contain any lowercase letters, so the answer is 0.
题目意思:求连续的小写子母中,种类最多的是多少种。
解题思路:利用set中存储的元素的唯一 性去重,第一次使用set,还是对set中的删除不是很熟悉,当时使用set的迭代器也就是一个个删除的
for(it=st.begin(); it!=st.end();)
{
st.erase(it++);
}
实际上set中含有直接清空容器的函数clear().
#include<cstring>
#include<cstdio>
#include<algorithm>
#include<set>
using namespace std;
char s[];
int main()
{
int n,i,sum,sum1;
char a;
sum=;
sum1=;
scanf("%d",&n);
getchar();
scanf("%s",s);
set<char>st;
set<char>::iterator it;
for(i=; i<n; i++)
{
if(s[i]>='A'&&s[i]<='Z')
{
sum1=st.size();
/*for(it=st.begin(); it!=st.end();)
{
st.erase(it++);
}*/
st.clear();
if(sum1>sum)
{
sum=sum1;
}
}
else if(s[i]>='a'&&s[i]<='z')
{
st.insert(s[i]);
}
}
sum1=st.size();
if(sum1>sum)
{
sum=sum1;
}
printf("%d\n",sum);
}
Polycarp and Letters(set首战!)的更多相关文章
- Codeforce B. Polycarp and Letters
B. Polycarp and Letters time limit per test 2 seconds memory limit per test 256 megabytes input stan ...
- [Codeforces 864B]Polycarp and Letters
Description Polycarp loves lowercase letters and dislikes uppercase ones. Once he got a string s con ...
- Codeforces Round #436 (Div. 2) B. Polycarp and Letters
http://codeforces.com/contest/864/problem/B 题意: 给出一个字符串,要求找到一个集合S,使得从S中选出的所有数,在这些数的位置上的字母全部为小写且是不同的字 ...
- Codeforces Round #436 B. Polycarp and Letters
题意:给你一串长度为n的字符,由大小写字母组成,求连续的小写子串中不同字母个数的最大值. Input 11aaaaBaabAbA Output 2 Input 12zACaAbbaazzC Outpu ...
- CF Round#436 div2
额,这次的题目其实挺智障的.所以通过这次比赛,我也发现了自己是一个智障.... 不说太多,说多是泪... A. Fair Game 题意:给你一个数组,看你能否把它均分为两个所有元素均相同的子数组. ...
- Codeforces Round #436 (Div. 2) A,B,D
A. Fair Game 题目链接:http://codeforces.com/contest/864/problem/A 水题 #include<iostream> #include&l ...
- Codeforces Round #436 (Div. 2)【A、B、C、D、E】
Codeforces Round #436 (Div. 2) 敲出一身冷汗...感觉自己宛如智障:( codeforces 864 A. Fair Game[水] 题意:已知n为偶数,有n张卡片,每张 ...
- Codeforces Round #436 (Div. 2) 题解864A 864B 864C 864D 864E 864F
A. Fair Game time limit per test 1 second memory limit per test 256 megabytes input standard input o ...
- codefoeces 864B
B. Polycarp and Letters time limit per test 2 seconds memory limit per test 256 megabytes input stan ...
随机推荐
- C++练习 | 创建并倒序输出不带头结点的链表
#include <iostream> #include <cstdio> #include <stdlib.h> #include <stack> u ...
- jquery file upload使用
<!-- jquery file upload相关js --> <script src="/js/jquery-file-upload/js/jquery.ui.widge ...
- Mave实战(1)——Maven介绍
目录 1. Maven介绍 1.1. 何为Maven 1.1.1. Maven是优秀的构建工具 1.1.2. Maven不仅仅是构建工具 1. Maven介绍 1.1. 何为Maven Maven是一 ...
- Discuptor入门(二)-实例
前言:最近在项目中看到有人使用的discuptor框架,因为没有接触过所以网上找了些资料.但最终发现开荒者太少,好像没什么人用那.最后感觉还是官方入门文档靠谱点.所以自己翻译了下(翻译器~),希望能帮 ...
- hive工作记录-20180513
Hive的数据导入: 1.从本地文件系统中导入数据到Hive表 基础语法1 : create table 表名(列名1 数据类型, 列名2 数据类型, … …) row format delimite ...
- python教程(八)·文件操作
由于离高考越来越近,博主打算本篇文章过后,暂停本系列教程的更新,等到高考完后再继续本系列教程,请谅解! 这次我们学习用python操作文件,包括文件的读.写等-- 操作文件第一步--打开文件 要想操作 ...
- C服务程序模板
在DoWork中添加自己的代码. 服务安装: sc create srvdemo binpath= "F:\srvdemo.exe" 服务启动:sc start srvdemo ...
- abc sort
c: #include<stdio.h>//从大到小 int main(){ int a, b, c; int x = 0; printf("input message:\n&q ...
- Centos7 安装 Python 的笔记
Centos7 安装 Python 的笔记 注意:系统自带的Python2.7不要改动,最好也不要出错,不然yum之类的工具可能会出错. 安装Python3.7.0 TensorFlow对Python ...
- cygwin环境搭建
可以在家目录下查看.bash_profile里的PATH.如果是:PATH=$PATH:$HOME/bin则需要添加成如下: PATH=$PATH:$HOME/bin:/sbin:/usr/bin:/ ...