2025-08-20 21:38:42 +09:00

42 lines
1.3 KiB
Python

import sys
from collections import deque
input = sys.stdin.readline
def convert_4length(s) :
return "000" + s if len(s) == 1 else "00" + s if len(s) == 2 else "0" + s if len(s) == 3 else s
def DSLR(order,numString) :
if order == 'D' :
return convert_4length(str(int(numString)*2 % 10000))
elif order == 'S' :
return convert_4length(str(int(numString) - 1 if int(numString) > 0 else 9999))
elif order == 'L' :
return numString[1] + numString[2] + numString[3] + numString[0]
elif order == 'R' :
return numString[3] + numString[0] + numString[1] + numString[2]
def BFS(a, b) :
a = convert_4length(a)
b = convert_4length(b)
visited = [False for _ in range(10000)]
q = deque()
q.append((a, ""))
while len(q) :
currentValue, currentOrderStream = q.popleft()
for o in "DSLR" :
nextValue = DSLR(o,currentValue)
nextOrderStream = currentOrderStream + o
if nextValue == b :
return nextOrderStream
if not visited[int(nextValue)] :
visited[int(nextValue)] = True
q.append((nextValue, nextOrderStream))
for _ in range(int(input())) :
A, B = input().split()
print(BFS(A, B))