csheo0713   4년 전

런타임 에러가 떠서 배열크기도 바꾸고 해봤는데 계속 떠요 ㅜㅜ

csheo0713   4년 전

  1. 모든 칸을 전부 0으로 하나씩 바꾸어보고 BFS를 돌리는 것을 반복해서는 통과될 수 없습니다. 대부분의 알고리즘 문제가 그렇듯이, 풀이를 짜기 전에 반드시 해야 하는 것 중 하나는 시간 복잡도를 생각하는 것입니다. 시간 복잡도 계산, 전혀 어렵지 않습니다. 벽이 최대 O(NM)개 있는 맵에서, 벽을 하나 부술 때마다 O(NM)개의 칸을 탐색해야 하죠? 그러니 O((NM)^2)입니다. 이 수는 우리가 대충 1초에 돌 수 있다고 보는 단위인 1억을 10000배나 뛰어넘는 1조입니다. 절대 통과될 수 없겠죠?

이것때문인가용??

djm03178   4년 전

아니요, 이 코드는 그렇게 풀고 있지 않습니다. 제가 말씀드리고 싶은 것은 런타임 에러가 나는 직접적인 원인을 떠나서 이와 같이 푸는 것 자체가 올바른 해법이 아니라는 것입니다.

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