题目描述
假设你有一个
位数的滚轮式密码锁,密码锁的每一个滚轮都有
面,分别刻着
的数字,并且可以向上或向下循环滚动。这个密码锁的滚轮一开始是随机的。
将滚轮从左到右编号,最左侧是滚轮
,最右侧是滚轮
。当所有滚轮滚到数字
的位置时,才能解锁这个密码锁。
每次操作均按如下操作方式:
确定一个区间
(
) ,旋转该区间内的所有滚轮,使这些滚轮一起向下或向上滚动一格。向上滚动会将滚轮数字
,向下滚动则是
。并且滚轮处于
数字时,向上滚动会回归数字
的位置;处于
数字时,向下滚动会回到数字
的位置。
除此之外,进行以上操作时,需满足以下条件:
第一次选择区间时允许任意选定区间
接下来每次选择的区间,必须包含上一次选择的区间
例如对于一个初始状态为
的密码锁,可以通过以下步骤完成解锁:
① 选取
区间的滚轮,向下滚动。
② 选取
区间的滚轮,向下滚动。
③ 选取
区间的滚轮,向下滚动。
以下则是一些不符合规则的操作示例:
① 先选取
再选取
是不符合规则的,因为
区间不被
所包含。
② 先选取
再选取
是不符合规则的,原因同上。
你的目标是使用最少的操作次数,解锁给定的密码锁。