测评会员优惠活动进行中 · 开通 VIP,有效期内测评不限次 VIP 优惠中 · 测评不限次 立即查看

A7001. [SCOI2003] 字符串折叠

编程题 提高+/省选-

题目描述

折叠的定义如下:

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

2. ``X(S)` 是 $X$ 个 `S` 连接在一起的串的折叠。记作 `X(S) = SSSS…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$。

输出格式

仅一行,即最短的折叠长度。

输入输出样例

输入 #1
NEERCYESYESYESNEERCYESYESYES
输出 #1
14

说明/提示

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

保证 $100 \%$ 的数据满足字符串 $S$ 由大写字母构成。
上一题 去做题 下一题