编程题
### 问题描述 旋转耳机是一种可以旋转的蓝牙无线耳机,可以方便地适应不同的使用场景和舒适度要求,通过蓝牙技术与手机或其他音频设备进行连接,实现无线通话和音乐播放功能。 小蓝拥有四个旋转蓝牙,分为在上、左、下、右 $4$ 个位置,每个旋转蓝牙都有一个播放口(即正面),小蓝希望将播放口转向自己设定的方向。 但四个旋转蓝牙之间有一定的关联,旋转规则如下: 1. 顺时针/逆时针旋转上边耳机 $90$ 度,会让其他三个耳机顺时针/逆时针旋转 $90$ 度。 2. 顺时针/逆时针旋转左边耳机 $90$ 度,会让上面的耳机顺时针/逆时针旋转 $90$ 度。 3. 顺时针/逆时针旋转下边耳机 $90$ 度,会让左边的耳机顺时针/逆时针旋转 $90$ 度。 4. 顺时针/逆时针旋转右边耳机 $90$ 度,会让左边、下边的耳机顺时针/逆时针旋转 $90$ 度。 ### 输入格式 第一行输入一个整数 $N$,代表有 $N$ 个测试用例。 接下来输入 $N$ 行,每行两个字符串 $abcd$,$a、b、c、d$ 分别代表上、左、下、右的耳机播放口朝向,$1$ 代表上,$2$ 代表左、$3$ 代表下、$4$ 代表右。 第一个字符串是旋转蓝牙的初始状态,第二个字符串是旋转蓝牙的目标状态。 ### 输出格式 对于每个例子,输出从初始状态到目标状态的最少操作步数,如果不能达到目标状态请输出 $no$。 ### 样例输入 ```text 2 1234 1234 1422 3412 ``` ### 样例输出 ```text 0 4 ``` ### 样例说明 对于第二个例子,初始状态为 $1422$。 第一步,逆时针转动“左边耳机” $90$ 度,状态变为 $2122$。 第二步,顺时针转动“右边耳机” $90$ 度,状态变为 $2411$。 第三步,顺时针转动“下边耳机” $90$ 度,状态变为 $2341$。 第四步,逆时针转动“上边耳机” $90$ 度,状态变为 $3412$。 ### 评测数据规模 对于所有评测数据,$1 \lt N \lt 100000$。
查看答案
赣ICP备20007335号-2