• 2258: name


    2258: name

    时间限制: 1 Sec  内存限制: 256 MB
    提交: 824  解决: 184
    [提交][状态][讨论版][命题人:admin]

    题目描述

    lpq同学最近突然对外国人的名字产生了兴趣,特别是外国女生的名字,于是他开始试图去认识一些国外的女生。

    随着认识的女生数量越来越多,lpq发现他的脑子不够用了——他不能准确地记住每个女生的名字。终于有一天,当他又把Hello Kitty和Dear Amy的名字弄混并遭到暴力后,他突发奇想:如果我把每个人的名字按不同部分的首字母变成缩写,就便于记忆,也就不会把名字弄混了。

    比如:Hello Kitty简写成HK,Dear Amy简写成DA。

    lpq还决定,对于名字简写长度大于5(不包括5)的女生,他便放弃交往。
    但是lpq认识的女生太多了,于是他想到了作为神犇的你,请你帮助他。

    输入

    第一行输入一个整数N(N<=10000),表示女生的人数。

    接下的N行,每行包含一个字符串,为一个女生的全名,其中名字不同部分之间用’~!@#$%^&*()’分隔,字符串的长度不大于100。

    保证输入的字符只有字母及’~!@#$%^&*()’(不包括引号)。

    输出

    输出第一行为一个整数K,表示可以继续交往的女生人数。

    接下来K行,每一行包括由若干字母组成的字符串,表示对应名字的缩写。

    样例输入

    3
    Hello@#^Kitty
    Dear~^Amy
    Sro~Li~Pei~Qian
    

    样例输出

    3
    HK
    DA
    SLPQ
    #include<iostream>
    #include<cstring>
    
    using namespace std ; 
    
    #define maxn 110 
    int n ; 
    char str[maxn] ; 
    char result[11000][maxn] ; 
    int total = 0  ; 
    
    int main(){
        cin>>n ; 
        while(n--){
            
            int pos = 0 ; 
            cin>>str ; 
    
            int len = strlen(str) ; 
            bool flag = false ; 
            for(int i = 0 ; i<len ; i++){
                if(isalpha(str[i]) ){
                    if(!flag){
                        flag = true ; 
                        result[total][pos++] = str[i] ; 
                        if(pos > 5){
                            result[total][0]= '' ;   
                            break ; 
                        }
                    }
                        
                }else{
                    flag = false ; 
    
                }
            }
            if(pos>5)
                total-- ; 
            // 设置字符串尾部 (防止被之前的结果影响)
            result[total][pos] = '' ; 
            total++ ; 
        }
    
        cout<<total<<endl ; 
        for(int i=0 ; i<total ; i++){
            cout<<result[i]<<endl ; 
        }
    
        return 0 ; 
    }
  • 相关阅读:
    https://pingcap.com/blog-cn/flame-graph/
    https://software.intel.com/sites/landingpage/pintool/docs/97998/Pin/html/
    http://boostorg.github.io/stacktrace/stacktrace/getting_started.html#stacktrace.getting_started.how_to_print_current_call_stack
    线程局部存储
    slice 切片实现 Slice object interface
    网络分裂 redis 集群
    vscode-sftp
    Sizes of integer types 整形字节长度 系统字节
    学件中心
    源码 版本
  • 原文地址:https://www.cnblogs.com/yi-ye-zhi-qiu/p/8904271.html
Copyright © 2020-2023  润新知