#B6436. 密码锁
密码锁
题目描述
密码锁:由 个从左到右并排的圆环组成,每个圆环上都有 个数字 (0~9),蓝色框内为密码显示区,每个圆环在密码显示区只能显示一个数字,如图所示。可以拨动圆环,来改变密码显示区显示的数字。
当密码显示区的数字与密码一致时,密码锁就会被打开。
编程实现:
有一个由 个圆环组成的密码锁,和一个 位的密码 S(S 由 1~9 中的数字(包含 和 9) 组成)。每次操作只能选择一个或位置连续的多个圆环拨动,当 中的字符从左到右依次显示在密码显示区时,密码锁会被打开。
己知每个圆环在密码显示区初始数字部为 ,请计算出最少需要操作多少次,才能打开密码锁。
注意:
1、如果选择了其中一个圆环,可将该圆环中任意一个数字拨动到密码显示
例如:将第 个圆环拨动到数字 ,表示 次操作:

2、如果选择了位置连续的多个圆环,只能将这些圆环拨动成同一个数字。显示在密码显示区,表示 次操作。
例如:将连续的第 个到第 个圆环都拔动到数字 ,表示 次操作:
例如:
n=5,S="12321"; 分别表示 个圆环组成的密码锁和密码 12321: 将 位密码 、2、3、2、 从左到右依次显示在密码显示区,以下是操作次数最少的方案:
第一次操作,将 个初始状态为 的圆环全部拨动到数字 1:
第二次操作,将第 个到第 个圆环全部拔动到数字 2:
第三次操作,将第 个圆环拔动到数字 3:
最少需要操作 次,才能打开密码锁。
输入格式
第一行输入一个整数 n(1<=n≤100),表示组成的密码锁的圆环数及密码的位数第二行输入一个长度为 的字符串 , 由 1~9 中的数字(包含 和 9) 组成,表示密码。
输出格式
输出一个整数,表示最少需要提作多少次,才能打开密码锁。
5
12321
3