lshoon1128   2년 전

안녕하세요!

문제를 푸는데 곰곰히 고민을 해봐도 어떤 경우에 올바르지 않는 답이 나오는지

또한, 이 풀이가 왜 틀린지 모르겠어 질문 남깁니다.

도움 부탁드리겠습니다.

=================================================================================================================================

풀이 방법으로는 이렇습니다.

1) 상어가 있는 위치가 아닌 빈 칸에서 시작합니다.

2) 그 위치에서 8방향을 모두 봅니다.

3) 8방향에서 return 받은 최소값을 cache에 저장합니다.

4) 결과값 중 최대값을 출력합니다.

gerrard   2년 전

4 4

0 0 0 0

0 0 0 0

0 0 0 0

1 0 0 0

이 경우 작성하신 코드로는 답이 4가 나오는데, 

정답 코드로는 3이 나옵니다.

저는 상어(1)일 때 시작했습니다.

5 4

0 0 1 0

0 0 0 0

1 0 0 0

0 0 0 0

0 0 0 1 일 때 상어를 0으로 대입하고 bfs를 돌리면

2 1 0 1

1 1 1 1

0 1 2 2

1 1 1 1

2 2 1 0

이 나오고, 안전 거리는 2가 됩니다. 

댓글을 작성하려면 로그인해야 합니다.