blackbbean   4년 전

0을 1로 바꾸기 위해서 

맞닿아있는 한 부분이라도 1이라면 그 0의 좌표는 큐에 넣었습니다. 

그리고 나선

맵에 대해서 

bfs를 통해 연결된 구간의 coloring 을 하였습니다. 

coloring된 구간의 경우 100,101,102이렇게 바꿈으로써 영역을 구분하였고, coloring number와 이게 몇개 있는지의 데이터를 result배열에 넣었습니다.
 

마지막으로 0을 갖고있는 좌표들을 갖고있는 큐를 pop하면서 

맞닿아있는 1의 coloring number를 참조하였고, 그 coloring 된의 갯수를 더하고 최대값을 갱신하는 식으로 문제를풀었습니다. 

더이상 어떻게 시간을 줄여야할지 잘 모르겠습니다 ㅠㅠ 

도움 요청합니다 ㅠㅠ 

blackbbean   4년 전

해결했습니다. 

하나씩 0을 1로 변화하는 과정에서 확인한 블록의 visited 처리를 해주기 위해 선언한 11번째줄의 checked와

92번째줄의 초기화 과정에서 시간초과가 났습니다. :) 

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