seokjune96   3년 전

이중 for문으로 맵을 보면서 0을 만나면 BFS로 그룹id를 넣어주고 배열에 그룹의 길이를 저장시킨후 출력할때 주변노드의 그룹id를 읽어와서 합하게 풀었는데 왜 시간초과가 뜨는지 모르겠네요 설명해주실수 있는 선배님들 있을까요?

djm03178   3년 전

new boolean[N][M];은 O(NM)의 시간이 걸리고, 이를 bfs할 때마다 수행하므로 최악의 경우 O(NM)번 이 문장이 실행되어 총 O(N^2*M^2) 시간이 걸립니다.

seokjune96   3년 전

앗 new boolean[N][M]; 가 시간초과에 걸릴것이라는 생각을 해본적이 없었습니다. 

정말 감사합니다. 덕분에 코테 스킬이 하나 늘은 기분이네요 

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