#H1009. 相邻求和

相邻求和

题目描述

给你一个数字串 SS,仅包含 090\sim 9 的数字,下标从 1 开始。

定义一次操作为:任意选择 SS 中相邻的两个位置 si,si+1s_i,s_{i+1},将这两个位置删去,再在位置 ii 插入 si+si+1s_i+s_{i+1} 的值。

例如,S=190S={\color{red}19}0,选择 i=1i=1s1=1,s2=9s_1=1,s_2=9s1+s2=10s_1+s_2=10,最终 SS 变为 100{\color{red}10}0

再如,S=190S=1{\color{red}90},选择 i=2i=2s2=9,s3=0s_2=9,s_3=0s2+s3=9s_2+s_3=9,最终 SS 变为 191{\color{red}9}

不难发现,不停进行这个操作,SS 最终会变成只有一位。

SS 变为一位时,操作次数的最小值。

输入格式

输入仅一行,为 SS

输出格式

输出 SS 变为一位时,操作次数的最小值。

190
3
4238934902923482348912232323990342312
52
0
0

提示

对于 190190,最优操作方法是

  1. 190100{\color{red}19}0\to {\color{red}10}0
  2. 10010{\color{red}10}0\to {\color{red}1}0
  3. 101{\color{red}10}\to {\color{red}1}

对于 30%30\% 的数据,S1|S|\le 1

对于 50%50\% 的数据,S2|S|\le 2

对于 65%65\% 的数据,S3|S|\le 3

对于 90%90\% 的数据,S5|S|\le 5

对于 95%95\% 的数据,S100|S|\le 100

对于 100%100\% 的数据,S106|S|\le 10^6