对于一个大写字母组成的字符串,定义如下“折叠”操作:
1 . 一个字符串可以看成它自身的折叠。记作 S=S 。
2.X(S) 是 X(X>1) 个子串 S 连接在一起的串的折叠。记作 X(S)=SSSS … S(X 个 S) 。
3 . 如果 A=A′,B=B′ ,则 AB=A′B′ 。即,折叠后的子串相连接不需要加入其它字符。
例如,因为 3(A)=AAA,2(B)=BB ,所以 3(A)C2(B)=AAACBB ,而 2(3(A)C)2(B)=AAACAAACBB 。
给一个字符串,求它的最短折叠。例如 AAAAAAAAAABABABCCD 的最短折叠为: 9(A)3(AB)CCD 。
输入仅一行,即字符串 S ,长度保证不超过 100 。
输出仅一行,即最短的折叠长度。
NEERCYESYESYESNEERCYESYESYES
14
30% : len(S)≤5
50% : len(S)≤10
100%: len(S)≤100
时间限制 | 1 秒 |
内存限制 | 128 MB |