반응형
https://www.acmicpc.net/problem/2178
2178번: 미로 탐색
첫째 줄에 두 정수 N, M(2 ≤ N, M ≤ 100)이 주어진다. 다음 N개의 줄에는 M개의 정수로 미로가 주어진다. 각각의 수들은 붙어서 입력으로 주어진다.
www.acmicpc.net
import sys
n, m = map(int, sys.stdin.readline().split())
v = [ sys.stdin.readline().rstrip() for i in range(n) ]
visit = [ [0] * (m) for i in range(n) ]
dx, dy = [-1, 1, 0, 0], [0, 0, -1, 1]
queue = [(0, 0)]
visit[0][0] = 1
while queue:
x, y = queue.pop(0)
if x == n-1 and y == m-1:
print(visit[x][y])
break
for i in range(4):
nx = x + dx[i]
ny = y + dy[i]
if 0 <= nx < n and 0 <= ny < m:
if visit[nx][ny] == 0 and v[nx][ny] == '1':
queue.append((nx, ny))
visit[nx][ny] = visit[x][y] + 1
반응형
'알고리즘 > 백준온라인저지 (Python)' 카테고리의 다른 글
[백준온라인저지] 1260 - DFS와 BFS (0) | 2021.08.24 |
---|---|
[백준온라인저지] 11057 - 오르막 수 (0) | 2021.08.24 |
[백준온라인저지] 11727 - 2xn 타일링 2 (0) | 2021.08.24 |
[백준온라인저지] 1463 - 1로 만들기 (0) | 2021.08.24 |
[백준온라인저지] 2747 - 피보나치 수 (0) | 2021.08.24 |
댓글