077 Kuchiguse

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

题意:

  找出最长公共后缀。

思路:

  模拟。

Code:

#include <bits/stdc++.h>

using namespace std;

int main() {
    int n;
    cin >> n;
    getchar();
    string last, cur, temp;
    for (int i = 0; i < n; ++i) {
        if (i == 0)
            getline(cin, last);
        else {
            temp = "";
            getline(cin, cur);
            int len1 = cur.length() - 1;
            int len2 = last.length() - 1;
            while (len1 >= 0 && len2 >= 0) {
                if (cur[len1--] == last[len2]) {
                    temp = last[len2--] + temp;
                } else
                    break;
            }
            last = temp;
        }
    }
    if (last.length() == 0)
        cout << "nai" << endl;
    else {
        for (int i = 0; i < temp.length(); ++i) cout << temp[i];
        cout << endl;
    }
    return 0;
}
永远渴望,大智若愚(stay hungry, stay foolish)
原文地址:https://www.cnblogs.com/h-hkai/p/12809015.html