题库 蓝桥杯青少组题库 题目列表 编程实现:有一个由n个圆环组成的密码锁,和一个n位的...
问答题

编程实现:有一个由n个圆环组成的密码锁,和一个n位的密码S(S 1~9中的数字(包含19)组成)。每次操作只能选择一个或位置连续的多个圆环拨动,当S中的字符从左到右依次显示在密码显示区时,密码锁会被打开。

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

注意:

1、如果选择了其中一个圆环,可将该圆环中任意一个数字拨动到密码显示

例如:将第3个圆环拨动到数字4,表示1次操作:

2、如果选择了位置连续的多个圆环,只能将这些圆环拨动成同一个数字。显示在密码显示区,表示1次操作。

例如:将连续的第2个到第3个圆环都拔动到数字5,表示1次操作:

例如:

n=5S="12321";分别表示5个圆环组成的密码锁和密码12321:5位密码12321从左到右依次显示在密码显示区,以下是操作次数最少的方案:

第一次操作,将5个初始状态为0的圆环全部拨动到数字1:

第二次操作,将第2个到第 4 个圆环全部拔动到数字 2:

第三次操作,将第3个圆环拔动到数字 3:

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

输入描述

第一行输入一个整数n(1<=n≤100),表示组成的密码锁的圆环数及密码的位数第二行输入一个长度为n的字符围 SS 1~9 中的数字(包含1 9)组成,表示密码

输出描述

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

样例输入

5

12321

样例输出

3


提示信息:

密码锁:n个从左到右并排的圆环组成,每个圆环上都有10个数字(0~9),蓝色框内为密码显示区,每个圆环在密码显示区只能显示一个数字,如图所示。可以拨动圆环,来改变密码显示区显示的数字。

当密码显示区的数字与密码一致时,密码锁就会被打开。

题目信息
创意编程组 第十五届 STEMA 中级 高级
-
正确率
0
评论
816
点击