백준 9019 - DSLR (파이썬)
Updated:
Answer
import sys
from collections import deque
input = sys.stdin.readline
MOD = 10000
def D(n):
return (n * 2) % MOD, 'D'
def S(n):
return (n - 1) % MOD, 'S'
def L(n):
return (10 * n + (n // 1000)) % MOD, 'L'
def R(n):
return (n // 10 + (n % 10) * 1000) % MOD, 'R'
commands = [D, S, L, R]
def bfs(a, b):
q = deque([(a, '')])
visited = set()
while q:
x, command = q.popleft()
if x == b:
print(command)
return
for i in commands:
j, c = i(x)
if j not in visited:
visited.add(j)
q.append((j, command + c))
for _ in range(int(input())):
N, K = map(int, input().split())
bfs(N, K)