코딩/백준 (Python)
백준 2178번: 미로 탐색 (Python)
접근 문제 설명과 같이 BFS 알고리즘은 해당 위치까지 최단거리로 이동하는 특성이 있다. 예를 들어 첫 칸인 (0, 0)을 탐색할 때 BFS 알고리즘에 따라 현재칸을 기준으로 위, 아래, 왼쪽, 오른쪽 칸을 탐색하게 되는데, 이 칸들에 지금 칸 숫자에 1을 더한 2를 입력해준다. 이 다음 탐색에서는 주변 칸들에 3을 입력하는 식으로 진행하게 되면 마지막 칸에 최단거리를 표시하게 된다. 코드 import sys def bfs(x, y): global cnt dx = [1, 0, -1, 0] dy = [0, 1, 0, -1] q = [[x, y]] visited[x][y] = 1 while q: now = q.pop(0) for i in range(4): nx = now[0] + dx[i] ny = now[..
2021. 4. 11. 17:20
최근댓글