[Python] 백준16928 뱀과 사다리 게임

[Python] 백준16928 뱀과 사다리 게임

백준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를 사용하여 뱀과 사다리 게임를 구현했습니다.


결과

결과


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