2206
-
[백준]2206: 벽 부수고 이동하기 - JAVA문제풀이/백준 2021. 2. 27. 17:00
[백준]2206: 벽 부수고 이동하기 www.acmicpc.net/problem/2206 2206번: 벽 부수고 이동하기 N×M의 행렬로 표현되는 맵이 있다. 맵에서 0은 이동할 수 있는 곳을 나타내고, 1은 이동할 수 없는 벽이 있는 곳을 나타낸다. 당신은 (1, 1)에서 (N, M)의 위치까지 이동하려 하는데, 이때 최단 경로 www.acmicpc.net 풀이 최단거리 문제이므로 BFS를 사용했다. 처음에는 boolean타입의 flag를 사용하여 벽을 부쉈는지 여부를 확인하였는데 이렇게 되면 벽을 부수지 않고 이동했을 때와 벽을 부수고 이동했을 때의 경로가 겹치게 되고, 최단거리더라도 더 이상 진행하지 못하게 되었다. 그래서 visited배열의 인덱스를 추가해서 벽을 부수지 않고 이동했을때의 방문 여..