swrho   2년 전

제 나름대로 괜찮은 반례를 다 넣어보았지만 문제 없이 잘 돌아갔습니다. 저의 알고리즘에 문제가 있는 듯 합니다만 잘 찾을수 없어서 글 올립니다.

저는 유니온 파인드와 bfs 를 썼는데요, 

1 -   '.' 부분을 집합별로 숫자로 나타낸다 (makeNum 함수 구현)

2 - 주변에 X 인것을 골라 큐에 넣어준다 (putQueue 함수 구현)

3 - BFS 구현

3 - 1 - 얼음을 녹이는 과정에서 근처에 다른 집합 (num[][]) 의 얼음이 있으면 merge 를 해준다

3 - 2 - 같은 집합이 되면 함수를 종료하고 답을 도출한다

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