送你们一个字符串的经典题吧
题号:NC226984
时间限制:C/C++/Rust/Pascal 1秒,其他语言2秒
空间限制:C/C++/Rust/Pascal 256 M,其他语言512 M
64bit IO Format: %lld

题目描述

来来来最后一个送分 经典题

给你一个字符串S。S中只有大写字母。
你需要对字符串S的每个前缀Si进行以下运算。
在字符串Si中找到一个它的子串T。T 既是 Si 的前缀也是 Si 的后缀,且T不能是Si本身。
请输出每个字符串S的前缀Si中,T的最长长度。

输入描述:

一行一个字符串S

输出描述:

输出一行S.length()个整数,第i个整数表示S的长度为i的前缀,最长的T的长度。
示例1

输入

复制
AAAAAAAAAAA

输出

复制
0 1 2 3 4 5 6 7 8 9 10
示例2

输入

复制
ABBCCACABABB

输出

复制
0 0 0 0 0 1 0 1 2 1 2 3