字符串折叠
时间限制:1秒 内存限制:256M
【题目描述】
字符串折叠 的定义如下:
1. 只包含单个大写英文字母的序列 \(A\) 是压缩序列。\(A\) 解压缩后的序列 \(A^′\) 为自己。。
2. 若序列 \(A\) 和 \(B\) 都是压缩序列,那么序列 \(AB\) 是压缩序列,解压缩后为 \(A^′B^′\)。
3. 若 \(S\) 是压缩序列,那么 \(X(S)\) 也是压缩序列,其中 \(X\) 是一个大于 1 的整数,该序列解压缩后为 \(S^′\) 重复 \(X\) 遍。
例如,因为 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。
【输出格式】
仅一行,即最短的折叠长度。
【输入输出样例】
Input
NEERCYESYESYESNEERCYESYESYES
Output
14
【来源】
Mr.he