SP392 SPIN - Spin
题目描述
在这个游戏中,有一组圆盘排列在一个滑块上。如下图所示,圆盘只有在同时满足两个条件时,才能从水平旋转到竖直:它正好位于标记为 `0` 的位置上,并且其右边紧挨的圆盘是竖直状态。对于最右边的圆盘,只要位于位置 `0`,就总是可以旋转,因为它右侧没有其他圆盘。
游戏的目标是通过移动滑块,使其左边缘对齐到 `Win` 标记位置:

你的任务是编写一个程序,根据输入的一系列未解决的谜题,计算每个谜题中将滑块移动到 `Win` 位置所需的最少步数。
输入格式
输入文件包含多个谜题。第一行会给出一个整数 $n$,表示谜题的数量。接下来有 $n$ 行,每行的格式为:
`长度 方向 位置`
其中:
- `长度` 是一个整数(小于 30),表示滑块上的圆盘数量。
- `方向` 是一个由 {h, v} 组成的字符串,长度等于上面的值,表示每个圆盘的方向(h 代表水平,v 代表竖直)。
- `位置` 是一个从 `0` 到 `长度` 的整数,表示当前哪一个编号的标记与滑块的左边缘对齐。
输出格式
对于每一个给定的谜题,你的程序应该输出一个整数,表示赢得这一谜题所需的最小步数。一步可以是滑块向左或向右移动一个单位,也可以是旋转某个圆盘。
**本翻译由 AI 自动生成**