#63852. 蒜头君与字符串

蒜头君与字符串

暂无测试数据。

题目描述

蒜头君收到了花椰妹的礼物,是一串由小写字母构成的字符串。

蒜头君希望能复刻出花椰妹送的礼物,但是蒜头君手上有的只有无限的回文字符串。而蒜头君每次可以使用回文字符串和已经生成的新字符串进行拼接操作。

拼接操作的过程如下:选取字符串 $s_1$ 和字符串 $s_2$ ,得到新的字符串 $s=s_1s_2$。如对字符串 $s_1=aba$ 和
$s_2=aa$ ,进行拼接操作后得到新字符串 $abaaa$ 。

但是蒜头君觉得这样得到的新字符串过于啰嗦,于是他决定在拼接的过程中允许将部分字符串进行“折叠:即如果对于字符串 $s_1$ 和字符串 $s_2$ ,如果 $s_1$ 的后缀和 $s_2$ 的前缀相同,此时拼接的时候只需要拼接一次。例如字符串 $aba$ 和字符串 $aba$ 连接之后的字符串可以是 $abaaba$ 和 $ababa$ 。

蒜头君比较懒惰,他希望拼接的次数尽可能少。因此请你编程帮他算算使用回文字符串至少需要拼接多少次?

输入格式

输入包含多组测试数据,对于每组测试数据:输入包含一行,该行包含一个由小写字母构成的字符串 $s$。

输出格式

对于每组测试数据,输出一行,该行包含一个整数。

数据范围

每个测试点组数 $\leq 5$

测试点编号 字符串长度 $\leq$ 特殊性质
1,2 5
3,4 26 最多只有 1 种字母重复出现且仅重复出现一次
5 100 数据随机生成
6,7 5000
8 10000 数据随机生成
9,10 100000
obocodo
abcdef
abcdcba
2
5
0