Notice
Recent Posts
Recent Comments
Link
S E P H ' S
[Python] BJ.1261 알고스팟 본문
1261번: 알고스팟
첫째 줄에 미로의 크기를 나타내는 가로 크기 M, 세로 크기 N (1 ≤ N, M ≤ 100)이 주어진다. 다음 N개의 줄에는 미로의 상태를 나타내는 숫자 0과 1이 주어진다. 0은 빈 방을 의미하고, 1은 벽을 의미
www.acmicpc.net
from collections import deque
dx = [-1, 1, 0, 0]
dy = [0, 0, -1, 1]
m, n = map(int, input().split())
maze = [list(map(int, input())) for _ in range(n)]
crush = [[-1]*m for _ in range(n)]
q = deque()
q.append((0, 0))
crush[0][0] = 0
while q:
x, y = q.popleft()
for d in range(4):
nx = x + dx[d]
ny = y + dy[d]
if 0 <= nx < n and 0 <= ny < m:
if crush[nx][ny] == -1:
if maze[nx][ny] == 0:
crush[nx][ny] = crush[x][y]
q.appendleft((nx, ny))
else:
crush[nx][ny] = crush[x][y] + 1
q.append((nx, ny))
print(crush[n-1][m-1])
'Algorithm > BackJoon' 카테고리의 다른 글
[Java] BJ.10989 수 정렬 3 (0) | 2022.06.13 |
---|---|
[Python] BJ.2609 최대공약수와 최소공배수 (0) | 2021.12.27 |
[Python] 13300 방배정 (0) | 2021.06.20 |
[Python] 10163 색종이 (0) | 2021.06.20 |
[Python] 1436 영화감독 숌 (0) | 2021.06.16 |