#P3974. Palindrome

    ID: 2955 传统题 1000ms 256MiB 尝试: 3 已通过: 1 难度: 10 上传者: 标签>字符串ManacherSeventh ACM Egyptian National Programming Contest

Palindrome

题目翻译

题目描述:

聪明的计算机科学学生Andy正在上算法课,教授问学生们一个简单的问题:"你能提出一个高效的算法来找到一个字符串中的最长回文子串的长度吗?"

如果一个字符串正读和反读都一样,则称其为回文。例如,"madam"是回文,而"acm"不是。

学生们意识到这是一个经典问题,但除了遍历所有子串并检查它们是否是回文外,想不出更好的解决方案。显然,这种算法效率极低。过了一会儿,Andy举手说:"好吧,我有一个更好的算法",就在他开始解释之前,他停顿了一下,然后说:"嗯,我有一个更优的算法!"

如果你认为你知道Andy的最终解决方案,那就证明它!给定一个最多包含10000001000000个字符的字符串,找到并输出其中最长回文子串的长度。

输入格式:

程序最多测试3030个测试用例,每个测试用例单独一行给出一个最多10000001000000个小写字母的字符串。输入以一行"END"结束(引号仅作说明)。

输出格式:

对于每个测试用例,输出测试用例编号和最长回文子串的长度。

示例输入:

abcbabcbabcba
abacacbaaaab
END

示例输出:

Case 1: 13
Case 2: 6