※ 1261 알고스팟
https://www.acmicpc.net/problem/1261
문제 해결 TIP
이전 미로만들기와 동일한 문제이다. n, m 값의 범위만 재설정해준다.
전체 코드
from collections import deque
dx = [0,0,-1,1]
dy = [-1,1,0,0]
def bfs(x,y):
queue = deque()
queue.append((x,y))
visited = [[-1] * m for _ in range(n)]
visited[x][y] = 0
while queue:
x, y = queue.popleft()
for i in range(4):
nx = x + dx[i]
ny = y + dy[i]
if 0<=nx<n and 0<=ny<m and visited[nx][ny]==-1:
if graph[nx][ny]==0:
queue.appendleft((nx,ny))
visited[nx][ny] = visited[x][y]
else:
queue.append((nx,ny))
visited[nx][ny] = visited[x][y] + 1
return visited
graph = []
m, n = map(int,input().split())
for i in range(n):
graph.append(list(map(int,input())))
visited = bfs(0,0)
print(visited[n-1][m-1])
'Python > DFS&BFS' 카테고리의 다른 글
99클럽 코테 스터디 7일차 TIL + 백준 1697 숨바꼭질 (파이썬) (0) | 2025.01.21 |
---|---|
99클럽 코테 스터디 6일차 TIL + 백준 1260 DFS와 BFS (파이썬) (0) | 2025.01.21 |
[Algorithm] 백준 2665 미로만들기 | 파이썬 BFS (0) | 2024.09.11 |
[Algorithm] 백준 7562 나이트의 이동 | 파이썬 BFS (2) | 2024.07.22 |
[Algorithm] 백준 1926 그림 | 파이썬 BFS (2) | 2024.07.16 |
댓글