백준 2178 - 미로 탐색 (파이썬)
Updated:
Answer
from sys import stdin
from collections import deque
input = stdin.readline
def bfs(x, y):
global count
queue = deque([(x, y)])
while queue:
x, y = queue.popleft()
for dx, dy in (0, 1), (0, -1), (1, 0), (-1, 0):
nx = x + dx
ny = y + dy
if nx < 0 or nx >= N or ny < 0 or ny >= M:
continue
if matrix[nx][ny] == 1:
queue.append((nx, ny))
matrix[nx][ny] = matrix[x][y] + 1
return matrix[N - 1][M - 1]
N, M = map(int, input().split())
matrix = [list(map(int, input().replace('\n', ''))) for _ in range(N)]
print(bfs(0, 0))