zoukankan      html  css  js  c++  java
  • Codeforce B. Polycarp and Letters

    B. Polycarp and Letters
    time limit per test
    2 seconds
    memory limit per test
    256 megabytes
    input
    standard input
    output
    standard output

    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.

    Examples
    input
    11
    aaaaBaabAbA
    output
    2
    input
    12
    zACaAbbaazzC
    output
    3
    input
    3
    ABC
    output
    0
    Note

    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.

    此题求2个大写字母间小写字母不同的个数;

    #include<cstdio>
    #include<iostream>
    #include<algorithm>
    #include<cstring>
    using namespace std;
    
    int n,m,a[128],maxx,ans;
    char s[1008];
    
    int main(){
        scanf("%d",&n);
        scanf("%s",s);
        maxx=0; ans=0;
        for(int i=0;i<n;i++){
            if(s[i]>='A'&&s[i]<='Z'){
                memset(a,0,sizeof(a));
                ans=max(ans,maxx);
                maxx=0;
            }else{
                if(!a[s[i]]){
                    a[s[i]]=1;
                    maxx++;
                }
            }
        }
        ans=max(maxx,ans);
        printf("%d",ans);
    }
  • 相关阅读:
    SpatiePermissionPermissionServiceProvider' not found
    ThinkPad L14G 连接外接显示屏无响应问题解决
    HBase 初学习之数据模型
    python 实现 kakfa 的 生产消费模式 和 发布订阅模式
    数据结构中树的基本概念
    MySQL行级锁、表级锁、页级锁详细介绍
    设置div只显示2行
    linux 关闭防护墙,永久关闭
    yum install nginx 时报错:No package nginx available.
    win10 查询端口,杀掉端口进程
  • 原文地址:https://www.cnblogs.com/WQHui/p/7593812.html
Copyright © 2011-2022 走看看