标签:des style blog color io os ar strong for
Description
Input
Output
Sample Input
bcabcab efgabcdefgabcde
Sample Output
3 7 题意:有一个字串A,现在利用A组成了一个新的字符串AAAAA...,现在从这个新的字符串的两个不同位置剪下去得到字符串B,问A的最小长度 思路:求A的最小长度,环句话就是说求B的最的最小循环节#include <iostream> #include <cstdio> #include <cstring> #include <algorithm> using namespace std; const int maxn = 1000005; char pattern[maxn]; int next[maxn]; int main() { while (scanf("%s", pattern) != EOF) { int m = strlen(pattern); next[0] = next[1] = 0; for (int i = 1; i < m; i++) { int j = next[i]; while (j && pattern[i] != pattern[j]) j = next[j]; next[i+1] = pattern[i] == pattern[j] ? j+1 : 0; } printf("%d\n", m-next[m]); } return 0; }
HUST - 1010 The Minimum Length
标签:des style blog color io os ar strong for
原文地址:http://blog.csdn.net/u011345136/article/details/39233533