ny2485   1년 전

if k == 0:
    print(answer)
    exit(0)

이 부분이 return 하는 조건문입니다.

k==0 (샘터와 가까운 거리의 지은 집의갯수가 k개 일때 리턴) 

처음엔 return으로 코드를 짰다가 (2)번위치에서 메모리초과가 나서 exit(0)으로 바꾸었는데요. 그래도 메모리 초과가 나더라구요.;

그러다가 그냥 k가 "딱!" 0이되는 "딱!" 그 시점에 중지시키도록 if k==0 코드를 아래쪽으로 옮겨보았는데

이 경우에 통과가 되네요. 집의 갯수는 10만개가 최대인데 아무리 bfs로 넓게 퍼지더라 하더라도 (2)번에 위치시켰을 때 

메모리 초과가 난다는점이 이해가 잘 되지 않습니다.

시간복잡도때문에 나름 최적화시킨 거리배열에서 해시로 O(1)에 찾는 dictionary로 바꾸어 시간복잡도는 맞추었는데

메모리 초과는 도대체 왜 나는지 이해가 되질 않네요.ㅠ

고수님들 제가 이해못하는 부분에대해 한말씀만 남겨주시면 대대손손 복받으실겁니다.!


고수님들 한말씀 부탁드리겠습니다!

djm03178   1년 전

https://www.acmicpc.net/board/... 와 정확히 같은 이유입니다.

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