#1458. 字符串折叠

字符串折叠

当前没有测试数据。

字符串折叠

题目描述

折叠的定义如下:

一个字符串可以看成它自身的折叠。记作S=SS = S

X(S)X(S)X(X>1)X(X>1)SS连接在一起的串的折叠。记作X(S)=SSSSSX(S)=SSSS\ldots SXXSS)。

如果A=AA = A'B=BB = B',则AB=ABAB = A'B'。例如,因为3(A)=AAA3(A)=AAA2(B)=BB2(B)=BB,所以3(A)C2(B)=AAACBB3(A)C2(B)=AAACBB,而2(3(A)C)2(B)=AAACAAACBB2(3(A)C)2(B)=AAACAAACBB

给一个字符串,求它的最短折叠。例如AAAAAAAAAABABABCCDAAAAAAAAAABABABCCD的最短折叠为:9(A)3(AB)CCD9(A)3(AB)CCD

输入格式

一行一个字符串,表示字符串SS

输出格式

一行一个整数,表示最短的折叠长度。

数据范围与提示

对于100%100\%的数据,保证S100|S| \leq 100

样例

NEERCYESYESYESNEERCYESYESYES
14

说明

一个最短的折叠为:2(NEERC3(YES))2(NEERC3(YES))