# 骰子是一个正面体,每个面有一个数字,初始左为1,右2,前3,后4,上5,下6 # L表示向左翻转 # R表示向右翻转 # F表示向前翻转 # B表示向后翻转 # A表示向逆时针方向翻转 # C表示向顺时针方向翻转 # 现从123456这个初始状态开始,根据输入序列,输出最终状态 res = list("123456") def solve_method(line): for c in line: if c == "L": roll(0, 2, 4, 6) # 前后不动,左右的倒序变上下,上下变左右 elif c == "R": roll(4, 6, 0, 2) # 前后不动,上下的倒序变左右,左右变上下 elif c == "F": roll(2, 4, 4, 6) # 左右不动,前后的倒序变上下,上下变前后 elif c == "B": roll(4, 6, 2, 4) # 左右不动,上下的倒序变前后,前后变上下 elif c == "A": roll(2, 4, 0, 2) # 上下不动,前后的倒序变左右,左右变前后 elif c == "C": roll(0, 2, 2, 4) # 上下不动,左右的倒序变前后,前后变左右 print("".join(res)) def roll(s1, e1, s2, e2): tmp = list(reversed(res[s1:e1])) res[s1:e1] = res[s2:e2] res[s2:e2] = tmp if __name__ == "__main__": line = input().strip() solve_method(line)
24.旋转骰子--OD
于 2024-03-24 10:11:19 首次发布