Notice
Recent Posts
Recent Comments
Link
목록벽 부수고 이동하기 (1)
Be a developer
백준 2206 벽 부수고 이동하기
최단 경로를 구하는 문제이고, 한 칸 이동하는 것을 가중치 1로 둘 수 있으므로 bfs로 풀 수 있는 문제다. 벽을 1번 부순 경우와 벽을 부수지 않은 상태로 이동하는 경우가 다르기 때문에 다른 정점으로 봐야 한다. 따라서 3차원 배열로 선언하여 벽을 부쉈을 때 비용과 부수지 않았을 때 비용을 구분하여 준다. 그리고 queue에는 벽을 부쉈는지 여부도 전달해주어야 한다. 처음에는 [row][col][0]에 비용을 저장하고, [row][col][1]에 벽을 부순 여부를 저장했는데, 이는 어느 특정한 칸을 왔을 때 벽을 한 번 부쉈는지 안 부쉈는지 경우의 수를 나누지 않은 것이었다. 아래는 처음 생각했던 코드 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 2..
알고리즘
2019. 4. 8. 13:59