• 1077. Kuchiguse (20)【字符串处理】——PAT (Advanced Level) Practise


    题目信息

    1077. Kuchiguse (20)

    时间限制100 ms
    内存限制65536 kB
    代码长度限制16000 B

    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

    解题思路

    反转字符串后逐个字符比較

    AC代码

    #include <iostream>
    #include <string>
    #include <algorithm>
    using namespace std;
    
    int main()
    {
        int n;
        vector<string> v;
        string s, rs;
        cin >> n;
        getline(cin, s);// 去掉回车
        while (n--){
            getline(cin, s);
            reverse(s.begin(), s.end());
            v.push_back(s);
        }
        int loc = -1;
        bool flag = true;
        while (flag && ++loc < v[0].size()){
            for (int i = 0; i < v.size(); ++i){
                if (v[i][loc] != v[0][loc]){
                    flag = false;
                    break;
                }
            }
            if (flag){
                rs += v[0][loc];
            }
        }
        if (rs.empty()){
            cout <<"nai" <<endl;
        }else{
            reverse(rs.begin(), rs.end());
            cout <<rs <<endl;
        }
        return 0;
    }
  • 相关阅读:
    【caffe】create_mnist.sh在windows下的解决方案
    【caffe】loss function、cost function和error
    【caffe】未定义函数或变量caffe_
    【caffe】无法找到gpu/mxGPUArray.h: No such file or directory
    maven常见问题处理(3-1)修改maven 默认使用的 jdk 版本
    SpringCloud是什么?
    SpringCloud的服务网关zuul
    SpringCloud的EurekaClient : 客户端应用访问注册的微服务(有断路器场景)
    SpringBoot 概念和起步
    YML(1)什么是 YML
  • 原文地址:https://www.cnblogs.com/tlnshuju/p/7353439.html
Copyright © 2020-2023  润新知