17142번 - 연구소 3
코드에 주석 달아놨습니다.
저의 접근 방법은 dfs로 조합하여 확산속도를 계산하여 최솟값을 갱신합니다.
만약 확산속도를 계산 중에 최솟값이 넘어가면 더 계산을 하지 않고 끝냅니다.
밑의 코드에서 어떠한 문제점이 있을까요?? 계산이 비효율적인지, dfs가 비효율적인지 궁금합니다
calculate_second() 에서 while(run)가 worst case에서 대단히 많은 시간복잡도를 가져요
N = 50 일때 50 * 50 * 4 * (while문 반복 수) 최소 1만번인데 조합의 각 경우마다 이만큼 돈다면 시간초과가 나겠죠?
각 좌표를 돌면서 주변으로 확산시키는 것보다 이미 바이러스가 퍼진 좌표를 기준으로 확산시키세요
댓글을 작성하려면 로그인해야 합니다.
wferel 4년 전
코드에 주석 달아놨습니다.
저의 접근 방법은 dfs로 조합하여 확산속도를 계산하여 최솟값을 갱신합니다.
만약 확산속도를 계산 중에 최솟값이 넘어가면 더 계산을 하지 않고 끝냅니다.
밑의 코드에서 어떠한 문제점이 있을까요?? 계산이 비효율적인지, dfs가 비효율적인지 궁금합니다