1077.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≤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

思路

求解所有串的最长公共后缀。
由于是求解后缀,因此先将串逆序,然后一边输入一边两两比较。将公共部分存至ans中,最后再将串逆序输出。

代码

#include <iostream>
#include <algorithm>
#include <string>
using namespace std;
int main() {
    int n;
    scanf("%d\n", &n);
    string s, ans;
    for (int i = 0; i < n; i++) {
        int j = 0, k = 0;
        getline(cin, s);
        reverse(s.begin(), s.end());
        if (i == 0) {
            ans = s;
            continue;
        }
        else {
            while (j < s.length() && k < ans.length() && s[j] == ans[k]) {
                j++;
                k++;
            }
            ans = s.substr(0, j);
        }
    }
    reverse(ans.begin(), ans.end());
    if (ans.size() == 0) ans = "nai";
    cout << ans;
    return 0;
}
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • rljs by sennchi Timeline of History Part One The Cognitiv...
    sennchi阅读 7,424评论 0 10
  • pyspark.sql模块 模块上下文 Spark SQL和DataFrames的重要类: pyspark.sql...
    mpro阅读 9,504评论 0 13
  • The Inner Game of Tennis W Timothy Gallwey Jonathan Cape ...
    网事_79a3阅读 12,231评论 3 20
  • 转眼间又到了辞职的季节,想想都开心,终于要解放了。 刚进这家公司面试时,面试我的先是总监,然后是老总。 他们一听我...
    呆丫阅读 920评论 2 0
  • 菠萝蜜(菠萝菠萝蜜是两种水果,两者也算是十分有缘的热带水果了,一个原产印度,一个原产美洲,但却相遇在了中国,还被命...
    小虫_6c80阅读 523评论 0 0