문제풀이/DFS & BFS
@[파이썬] [BFS] 백준 2178 미로 탐색
승무_
2022. 12. 26. 11:50
문제
https://www.acmicpc.net/problem/2178
2178번: 미로 탐색
첫째 줄에 두 정수 N, M(2 ≤ N, M ≤ 100)이 주어진다. 다음 N개의 줄에는 M개의 정수로 미로가 주어진다. 각각의 수들은 붙어서 입력으로 주어진다.
www.acmicpc.net
코드
from collections import deque
queue=deque()
n,m=map(int, input().split())
graph=[list(map(int, list(input().rstrip()))) for _ in range(n)]
visited=[[0]*m for _ in range(n)]
dx=[0,0,-1,1]
dy=[-1,1,0,0]
queue.append([0,0])
while queue:
x,y=queue.popleft()
if x==n-1 and y==m-1:
print(visited[x][y]+1)
exit(0)
for i in range(4):
nx=x+dx[i]
ny=y+dy[i]
if 0<=nx<n and 0<=ny<m:
if visited[nx][ny]==0 and graph[nx][ny]==1:
visited[nx][ny]=visited[x][y]+1
queue.append([nx,ny])