[Python] 백준9019 DSLR

[Python] 백준9019 DSLR

백준9019 DSLR 링크

문제

문제

예제 입력

예제


코드

import sys
from collections import deque 
t = int(input())

def BFS(st, end):
    dq = deque()
    dq.append([st, ''])
    visit = [ False ] * 10000
    visit[st] = True

    while dq :
        val, res = dq.popleft() # int

        if val == end:
            return res
        
        D = 2 * val % 10000   
        S = val - 1 if val != 0 else 9999
        L = val % 1000 * 10 + val // 1000
        R = val % 10 * 1000 + val // 10

        for C, com in zip([D, S, L, R], ['D', 'S', 'L', 'R']):
            if not visit[C]:
                visit[C] = True
                dq.append([C, res + com])

for _ in range(t):
    a, b = map(int, sys.stdin.readline().split())
    print(BFS(a, b))

설명

파이썬을 통해서 사용자로부터 입력받아 자료형 deque를 사용하여 DSLR를 구현했습니다.


결과

결과


© 2022. All rights reserved. 신동민의 블로그