码迷,mamicode.com
首页 > 其他好文 > 详细

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

时间:2020-01-16 14:58:08      阅读:74      评论:0      收藏:0      [点我收藏+]

标签:div   flag   判断   space   begin   mes   bsp   stream   示例   

基本思想:

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

 

关键点:

前后缀子串,利用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", &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

标签:div   flag   判断   space   begin   mes   bsp   stream   示例   

原文地址:https://www.cnblogs.com/songlinxuan/p/12200746.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!