18513번 - 샘터
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로 바꾸어 시간복잡도는 맞추었는데
메모리 초과는 도대체 왜 나는지 이해가 되질 않네요.ㅠ
고수님들 제가 이해못하는 부분에대해 한말씀만 남겨주시면 대대손손 복받으실겁니다.!
고수님들 한말씀 부탁드리겠습니다!
https://www.acmicpc.net/board/... 와 정확히 같은 이유입니다.
댓글을 작성하려면 로그인해야 합니다.
ny2485 1년 전
이 부분이 return 하는 조건문입니다.
k==0 (샘터와 가까운 거리의 지은 집의갯수가 k개 일때 리턴)
처음엔 return으로 코드를 짰다가 (2)번위치에서 메모리초과가 나서 exit(0)으로 바꾸었는데요. 그래도 메모리 초과가 나더라구요.;
그러다가 그냥 k가 "딱!" 0이되는 "딱!" 그 시점에 중지시키도록 if k==0 코드를 아래쪽으로 옮겨보았는데
이 경우에 통과가 되네요. 집의 갯수는 10만개가 최대인데 아무리 bfs로 넓게 퍼지더라 하더라도 (2)번에 위치시켰을 때
메모리 초과가 난다는점이 이해가 잘 되지 않습니다.
시간복잡도때문에 나름 최적화시킨 거리배열에서 해시로 O(1)에 찾는 dictionary로 바꾸어 시간복잡도는 맞추었는데
메모리 초과는 도대체 왜 나는지 이해가 되질 않네요.ㅠ
고수님들 제가 이해못하는 부분에대해 한말씀만 남겨주시면 대대손손 복받으실겁니다.!
고수님들 한말씀 부탁드리겠습니다!