1077 Kuchiguse (20point(s)) Easy only once

Posted songlinxuan

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了1077 Kuchiguse (20point(s)) Easy only once相关的知识,希望对你有一定的参考价值。

基本思想:

和示例一样,将后缀子串问题变为前缀子串问题判断,这样比较简单;

 

关键点:

前后缀子串,利用reverse函数更快;

 

 1 #include<iostream>
 2 #include<stdlib.h>
 3 #include<stdio.h>
 4 #include<vector> 
 5 #include<string>
 6 #include<math.h>
 7 #include<algorithm>
 8 using namespace std;
 9 using std::vector;
10 
11 vector<string>vec;
12 
13 int main() {
14     int n;
15     scanf("%d
", &n);
16     int m = 257;
17     for (int i = 0; i < n; i++) {
18         string s;
19         getline(cin, s);
20         if (s.size() < m)
21             m = s.size();
22         reverse(s.begin(), s.end());
23         vec.push_back(s);
24     }
25     bool flag = true;
26     int index=-1;
27     for (int i = 0; i < m&&flag; i++) {
28         for (int j = 1; j < vec.size(); j++) {
29             if (vec[j][i] != vec[j - 1][i])
30                 flag = false;
31         }
32         if (flag)
33             index = i;
34     }
35     if (index == -1) {
36         cout << "nai" << endl;
37         system("pause");
38         return 0;
39     }
40     string f = vec[0].substr(0, index + 1);
41     reverse(f.begin(), f.end());
42     cout << f << endl;
43     system("pause");
44     return 0;
45 }

以上是关于1077 Kuchiguse (20point(s)) Easy only once的主要内容,如果未能解决你的问题,请参考以下文章

pat 1077 Kuchiguse(20 分) (字典树)

PAT 1077 Kuchiguse (20)

1077. Kuchiguse (20)

1077 Kuchiguse (20 分)求字符串最长相同后缀

[PAT] 1077 Kuchiguse (20 分)Java

PAT甲1077 Kuchiguse字符串暴力Hash二分