[Python] 2178: 미로 탐색

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
import sys
from collections import deque
 
dy = [1100]
dx = [0011]
 
 
def bfs():
    queue = deque([(00)])
    while queue:
        y, x = queue.popleft()
        for i in range(4):
            ny = y + dy[i]
            nx = x + dx[i]
            if 0 <= nx < m and 0 <= ny < n and arr[ny][nx] == 1:
                queue.append((ny, nx))
                arr[ny][nx] = arr[y][x] + 1
 
 
n, m = map(int, sys.stdin.readline().rstrip().split())
arr = [list(map(int, sys.stdin.readline().rstrip())) for _ in range(n)]
 
bfs()
 
print(arr[n  1][m  1])
 
cs

관련글

제목 작성자 작성일