• 1077 Kuchiguse (20 分)(字符串处理)


    The Japanese language is notorious for its sentence ending particles. Personal preference of such particles can be considered as a reflection of the speaker’s personality. Such a preference is called “Kuchiguse” and is often exaggerated artistically in Anime and Manga. For example, the artificial sentence ending particle “nyan~” is often used as a stereotype for characters with a cat-like personality:

    Itai nyan~ (It hurts, nyan~)
    Ninjin wa iyada nyan~ (I hate carrots, nyan~)
    Now given a few lines spoken by the same character, can you find her Kuchiguse?

    Input Specification:

    Each input file contains one test case. For each case, the first line is an integer N (2<=N<=100). Following are N file lines of 0~256 (inclusive) characters in length, each representing a character’s spoken line. The spoken lines are case sensitive.

    Output Specification:

    For each test case, print in one line the kuchiguse of the character, i.e., the longest common suffix of all N lines. If there is no such suffix, write “nai”.

    Sample Input 1:

    3
    Itai nyan~
    Ninjin wa iyadanyan~
    uhhh nyan~

    Sample Output 1:

    nyan~

    Sample Input 2:

    3
    Itai!
    Ninjinnwaiyada T_T
    T_T

    Sample Output 2:

    nai

    生词

    英文 解释
    notorious 臭名昭著的
    sentence ending particles 句尾助词
    exaggerated 夸大的
    artistically 艺术地
    Anime 日本动画片
    Manga 日本漫画
    artificial 人工的
    stereotype 刻板印象
    characters 角色
    The spoken lines are case sensitive. 口语是区分大小写的。
    suffix 后缀

    题目大意:

    给定N给字符串,求他们的公共后缀,如果不存在公共后缀,就输出“nai”

    分析:

    因为是后缀,反过来比较太麻烦,所以每输入一个字符串,就把它逆序过来再比较,就会比较容易啦~
    首先ans = s;后来每输入的一个字符串,都和ans比较,如果后面不相同的就把它截取掉~最后输出ans即可(要逆序输出~所以先将ans倒置reverse一下~)

    原文链接:https://blog.csdn.net/liuchuo/article/details/52122061

    题解

    #include <bits/stdc++.h>
    
    using namespace std;
    
    int main()
    {
    #ifdef ONLINE_JUDGE
    #else
        freopen("1.txt", "r", stdin);
    #endif
        int n;
        cin>>n;
        getchar();
        string s,ans;
        for(int i=0;i<n;i++){
            getline(cin,s);
            reverse(s.begin(),s.end());
            if(i==0){
                ans=s;
            }else{
                int minlen=min(ans.length(),s.length());
                for(int j=0;j<minlen;j++){
                    if(ans[j]!=s[j]){
                        ans=ans.substr(0,j);
                        break;
                    }
                }
            }
        }
        reverse(ans.begin(),ans.end());
        if(ans.size()!=0)
            cout<<ans<<endl;
        else
            cout<<"nai"<<endl;
        return 0;
    }
    
    
  • 相关阅读:
    做事的底线和逻辑
    我在华为的十年----徐家俊
    华为的冬天
    如何当好一个师长--林彪
    Base64 的那些事儿
    流媒体协议介绍(rtp/rtcp/rtsp/rtmp/mms/hls)
    软件目的需求开发与管理
    车载行业认证资质
    tcpdump抓包分析 https://www.01hai.com/note/av263669
    packages.conifg
  • 原文地址:https://www.cnblogs.com/moonlight1999/p/15602081.html
Copyright © 2020-2023  润新知