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

HUST - 1010

时间:2017-08-03 00:57:45      阅读:178      评论:0      收藏:0      [点我收藏+]

标签:style   pre   html   ios   memset   www.   cst   ret   tps   

HUST - 1010

类比POJ 2406

自己的什么话都没有的传送门

 1 #include <cstdio>
 2 #include <cstring>
 3 #include <iostream>
 4 using namespace std;
 5 typedef long long LL;
 6 
 7 const int maxn = 1e6 + 10;
 8 int next[maxn];
 9     
10 void kmp(char *pattern) {
11     //int n = pattern.size();
12     int n = strlen(pattern);
13     for (int i = 1; i < n; i++) {
14         int j = i;
15         while (j > 0) {
16             j = next[j];
17             if (pattern[j] == pattern[i]) {
18                 next[i + 1] = j + 1;
19                 break;
20             }
21         }
22     }
23 }
24 
25 
26 int main() {
27     char s[maxn];
28     while (~scanf("%s", s)) {
29         memset(next, 0, sizeof(next));
30         kmp(s);
31         int len = strlen(s);
32         printf("%d\n", len - next[len]);
33     }
34     return 0;
35 }

 

HUST - 1010

标签:style   pre   html   ios   memset   www.   cst   ret   tps   

原文地址:http://www.cnblogs.com/xFANx/p/7277429.html

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