题目描述

字符串折叠的定义如下:

1、一个字符串可以看成它自身的折叠。记作S→S

2、X(S)是X(X>1)个S连接在一起的串的折叠。记作X(S)→SSSS...S(X个S)。

3、如果A→A,B→B,则AB→AB

例如,因为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。

输出格式

输出文件仅有一行包含一个字符串,即最短的折叠,也就是折叠后的字符串长度最短。如有多个解,你只须输出其中任意的一个解。

样例输入
样例输出
提交题目 Error [ 更改语言 ] Language
C C++ Pascal Python2
相关讨论
查看更多讨论
发布新讨论 讨论