PAT Advanced 1077 Kuchiguse (20 分)

PAT Advanced 1077 Kuchiguse (20 分)
强烈推介IDEA2021.1.3破解激活,IntelliJ IDEA 注册码,2021.1.3IDEA 激活码  

大家好,我是架构君,一个会写代码吟诗的架构师。今天说一说PAT Advanced 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). 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


#include <iostream>
#include <algorithm>
#include <stack>
using namespace std;

int main()
{
    int T,min=1000;
    cin>>T;
    string s[T];
    getline(cin,s[0]);
    stack<char> sta;
    for(int i=0;i<T;i++){
        getline(cin,s[i]);
        reverse(s[i].begin(),s[i].end());
        if(min>s[i].length()) min=s[i].length();
    }
    bool isSame;
    for(int i=0;i<min;i++){
        isSame=true;
        for(int j=0;j<T;j++){
            if(s[j][i]!=s[0][i]) isSame=false;
        }
        if(isSame) sta.push(s[0][i]);
        else break;
        /**不相同直接break掉,这边是一个失误点
        失误案例   abddnai
                    aaaanai*/
    }
    if(sta.empty()) cout<<"nai";
    while(!sta.empty()){
        cout<<sta.top();
        sta.pop();
    }
    system("pause");
    return 0;
}

 

转载于:https://www.cnblogs.com/littlepage/p/11306661.html

本文来源weixin_30595035,由架构君转载发布,观点不代表Java架构师必看的立场,转载请标明来源出处:https://javajgs.com/archives/29517

发表评论