题目描述
想要背诵一段很长的数字,比如圆周率,可以将这些数字分割成一个个**片段**,根据每个**片段**的规律做不同的记忆训练。不妨假定每个**片段**最少 $3$ 个数,最多 $6$ 个数,各种**片段**的**记忆难度**定义如下:
+ 若所有数字相同,如 `666`,`88888` 等,则**记忆难度**为 $1$;
+ 公差为 $1$ 或者 $-1$ 的等差数列,如 `3456`,`43210` 等,**记忆难度**为 $2$;
+ 两个数字交替出现,如 `313`,`68686` 等,**记忆难度**为 $4$;
+ 其他等差数列,如 `7531`,`369` 等,**记忆难度**为 $5$,但注意 `36912` 不算等差数列,因为我们只考虑一位数字;
+ 不属于上述任何一条规律的,比如 `2794` 等,**记忆难度**为 $10$。
现在给定一个由数字构成的字符串 $s$,请找出一个分割**片段**的方法,使得所有**片段**的**记忆难度**之和最小。
输入
一个由数字构成的字符串 $s$。
输出
单个整数:表示**记忆难度**之和的最小值。
样例输入输出
输入#1
复制
314159265358979323846
输入#2
复制
271828182845904523536
提示
设 $s$ 的长度为 $n$,则
+ 对 $30\%$ 的数据 $3\leq n\leq 20$;
+ 对 $60\%$ 的数据 $3\leq n\leq 10000$;
+ 对 $100\%$ 的数据 $3\leq n\leq 100000$。
样例1说明:分成(314159)(265358)(979)(323846),总难度为10+10+4+10=34
样例2说明:分成(271828)(182845)(904523)(536),总难度为40
样例3说明:分成(1212)(2222),总难度4+1=5