본문 바로가기

BOJ/C++

[BOJ] 다리만들기

*dfs로 섬들을 라벨링 (섬이 3개면 라벨이 3까지 나와야 한다)

*섬 전체적으로 돌면서 바다(0)이 나오면 그 지점을 중심으로 다리를 건설한다. (buildBridge)

*다리 건설은 bfs로 탐색하는데, 만약 섬(1)을 만났는데 나와 같은 라벨을 가지고 있으면 이상한 방향으로 향하고 있다는 것이기 때문에 (내 섬을 주변으로 돌고 있음 ) 방향을 바꿔주고 (continue), 

만약 다른 라벨을 가지고 있는 섬을 만났다면 그곳까지의 거리를 반환한다. 

 

 

'BOJ > C++' 카테고리의 다른 글

[BOJ] 알고스팟  (0) 2019.10.24
[BOJ] 달이 차오른다, 가자  (0) 2019.10.23
[BOJ] 빙산  (0) 2019.10.18
[BOJ] 성곽  (0) 2019.10.14
[BOJ] 꽃길  (0) 2019.10.10