hsw0194   3년 전

풀긴했는데 다 른 방법이 잇을거같아서요

일단 제 방식은 모든 섬에 bfs 탐색으로 이름을 먼저 붙이고

각 섬의 가장자리에서 다른 섬을 만날때까지 계쏙 bfs로 탐색을 하다가

다른 섬을 만나면 탐색을 종료하는것입니다.

섬의 가장자리인지 판단하는 기준은 동서남북중 하나라도 바다면 섬의 가장자리라고 판단했습니다

제 방식대로 하면 섬의 모든 가장자리에서 bfs 탐색을 수행하니까

섬의 가장자리가 굉장히 많은 경우에는 bfs 탐색이 굉장히 오래걸릴거같은데

혹시 더 좋은 방법이 있을까요?

dietomorrow   3년 전

코드가 다른 코드들에 비해 상대적으로 많이 느린 이유는 다른 섬을 발견하고 나서도 값을 비교만 하고 반환하지 않기 때문입니다.

https://www.acmicpc.net/source/20802120

작성자분 코드 살짝 수정한 것입니다.

한 위치에서 출발하여 가장 먼저 다른 번호의 섬을 발견했을 때보다 더 작은 값은 없습니다.

hsw0194   3년 전

아 그러네요.. 다른 섬을 찾고도 계속 탐색하네요 감사핮ㅂ니다!

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