백준 1600 말이 되고픈 원숭이 https://www.acmicpc.net/problem/1600
<유사문제>
2206 벽 부수고 이동하기 https://www.acmicpc.net/problem/2206
정답비율 13%, bfs를 사용해서 풀면 금방 해결될거같았는데 간과했던 것이 있던 문제
말처럼 이동할 수 있는 회수가 K번이 존재한다. 말처럼 이동할 수 있는 회수를 변수로 저장하여 0이상이면 bfs를 말의 이동, 원숭이의 이동 돌리고 0이면 원숭이의 이동만 돌린다.
문제는 방문한곳을 저장하는 visit[max][max]배열이다.
K=1, N=4, M=4
0 0 1 1
1 0 1 1
1 0 1 1
1 1 1 0
(1,3)공간까지 원숭이의 이동으로 움직이다 말의 이동으로 움직이면 4번만에 갈 수 있다.
하지만 단순 2차원배열로 저장하면 K가 0이든 1이상이든 가장 빨리 방문한곳은 어찌됬든 방문하지 못하는 최선의 경우만 파악하기 때문에 틀린답이 된다.
∴ visit[K][N][M]으로 K에 따른 방문경우를 따지며 bfs를 돌리면 된다.
댓글 없음:
댓글 쓰기