[Python] 백준16928 뱀과 사다리 게임
문제
예제 입력
코드
import sys
from collections import deque
n, m = map(int, input().split())
visit = [ 0 for _ in range(101) ]
ladder = {}
for _ in range(n):
x, y = map(int, sys.stdin.readline().split())
ladder[x] = y
snake = {}
for _ in range(m):
u, v = map(int, sys.stdin.readline().split())
snake[u] = v
def BFS(num):
dq = deque()
dq.append(num)
while dq :
val = dq.popleft()
for i in range(1, 7):
new = val + i
if 0 < new <= 100:
if new in ladder:
new = ladder[new]
if new in snake:
new = snake[new]
if not visit[new]: # 가장 빨리 도착하는 것이 최소
visit[new] = visit[val] + 1
dq.append(new)
BFS(1)
print(visit[100])
설명
파이썬을 통해서 사용자로부터 입력받아 자료형 deque를 사용하여 뱀과 사다리 게임를 구현했습니다.