[PAT解题报告] Kuchiguse

简单题,求n个字符串的最长公共后缀。
直接做就行,看一下倒数第几个字符开始不相等,注意输入n后有个回车,建议先gets掉。

#include <cstdio>
#include <cstring>
#include <string>

using namespace std;

char s[102][300];
int len[102];

int main() {
int n;
    scanf("%d",&n);
    gets(s[0]);
    for (int i = 0; i < n; ++i) {
        gets(s[i]);
        len[i] = strlen(s[i]);
    }
    int m = 1;
    for (;;++m) {
        int i;
        for (i = 0; i < n; ++i) {
            if ((m > len[i]) || (s[i][len[i] - m] != s[0][len[0] - m])) {
                break;
            }
        }
        if (i < n) {
            break;
        }
    }
    if (--m == 0) {
        puts("nai");
    }
    else {
        for (int i = len[0] - m; i < len[0]; ++i) {
            printf("%c",s[0][i]);
        }
        puts("");
    }
    return 0;
}

原题链接: http://www.patest.cn/contests/pat-a-practise/1077
全部评论

相关推荐

点赞 1 评论
分享
牛客网
牛客企业服务