17086번 - 아기 상어 2
안녕하세요!
문제를 푸는데 곰곰히 고민을 해봐도 어떤 경우에 올바르지 않는 답이 나오는지
또한, 이 풀이가 왜 틀린지 모르겠어 질문 남깁니다.
도움 부탁드리겠습니다.
=================================================================================================================================
풀이 방법으로는 이렇습니다.
1) 상어가 있는 위치가 아닌 빈 칸에서 시작합니다.
2) 그 위치에서 8방향을 모두 봅니다.
3) 8방향에서 return 받은 최소값을 cache에 저장합니다.
4) 결과값 중 최대값을 출력합니다.
4 4
0 0 0 0
1 0 0 0
이 경우 작성하신 코드로는 답이 4가 나오는데,
정답 코드로는 3이 나옵니다.
저는 상어(1)일 때 시작했습니다.
5 4
0 0 1 0
0 0 0 1 일 때 상어를 0으로 대입하고 bfs를 돌리면
2 1 0 1
1 1 1 1
0 1 2 2
2 2 1 0
이 나오고, 안전 거리는 2가 됩니다.
댓글을 작성하려면 로그인해야 합니다.
lshoon1128 2년 전
안녕하세요!
문제를 푸는데 곰곰히 고민을 해봐도 어떤 경우에 올바르지 않는 답이 나오는지
또한, 이 풀이가 왜 틀린지 모르겠어 질문 남깁니다.
도움 부탁드리겠습니다.
=================================================================================================================================
풀이 방법으로는 이렇습니다.
1) 상어가 있는 위치가 아닌 빈 칸에서 시작합니다.
2) 그 위치에서 8방향을 모두 봅니다.
3) 8방향에서 return 받은 최소값을 cache에 저장합니다.
4) 결과값 중 최대값을 출력합니다.