paraworld   3년 전

모든 빈칸에서 BFS 돌렸다가 바로 시간초과 나길래, 몇번 해보면서 생각해 보니 트리의 지름 문제랑 비슷한 것을 확인하고, 그렇게 풀었는데 메모리 초과가 뜹니다.

공간복잡도는 어떻게 계산해야 할지도 모르겠고, 인접 행렬을 인접 리스트로 만들자니 주어지는 지도가 2차원이라 어떻게 인접 리스트를 만들어야 할지 감이 안잡힙니다.

구글링해도 이 문제에 관한 자료는 죄다 C++이네요.

처음에 BFS 한번 돌려서 리프 노드들을 잡고 트리를 만든 다음, 임의의 리프 노드 하나로부터의 최장 거리에 있는 리프 노드를 기준점으로 잡아서

그 기준점에서 다른 리프 노드까지의 최장 거리를 구하는 식으로 풀었습니다.

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