#B6436. 密码锁

密码锁

题目描述

密码锁由 nn 个从左到右并排的圆环组成,每个圆环上都有 1010 个数字(0~9),蓝色框内为密码显示区,每个圆环在密码显示区只能显示一个数字。可以拨动圆环,来改变密码显示区显示的数字。当密码显示区的数字与密码一致时,密码锁就会被打开。

现在有一个由 nn 个圆环组成的密码锁,和一个 nn 位的密码 SSSS1 ~ 9 中的数字组成)。每次操作只能选择一个圆环或位置连续的多个圆环进行拨动。当 SS 中的字符从左到右依次显示在密码显示区时,密码锁会被打开。

已知每个圆环在密码显示区初始数字都为 00,请计算最少需要操作多少次,才能打开密码锁。

注意:

  1. 如果选择了其中一个圆环,可将该圆环中任意一个数字拨动到密码显示区。例如,将第 33 个圆环拨动到数字 44,表示 11 次操作:

  1. 如果选择了位置连续的多个圆环,只能将这些圆环拨动成同一个数字,显示在密码显示区,表示 11 次操作。例如,将连续的第 22 个到第 33 个圆环都拨动到数字 55,表示 11 次操作:

例如:n=5n=5S=12321S=\texttt{12321},表示 55 个圆环组成的密码锁和密码 12321。将 55 位密码 1,2,3,2,11,2,3,2,1 从左到右依次显示在密码显示区,操作次数最少的方案为:

  • 第一次操作,将 55 个初始状态为 00 的圆环全部拨动到数字 11
  • 第二次操作,将第 22 个到第 44 个圆环全部拨动到数字 22
  • 第三次操作,将第 33 个圆环拨动到数字 33

最少需要操作 33 次,才能打开密码锁。

输入格式

第一行输入一个整数 nn,表示密码锁的圆环数及密码的位数。

第二行输入一个长度为 nn 的字符串 SSSS1 ~ 9 中的数字组成,表示密码。

输出格式

输出一个整数,表示最少需要操作多少次,才能打开密码锁。

样例

5
12321
3

数据范围与提示

  • 1n1001 \le n \le 100
  • SS 中只包含字符 1 ~ 9
  • 每次操作可以选择一个圆环或一段连续的圆环,将其拨动到同一个数字。