https://www.acmicpc.net/problem/10216
기하학이 한 방울 들어간 유니온 파인드 문제. 이전에 풀다가 포기했던 문제다. 거리 계산 부분에서 아무 생각 없이 2차원 배열로서의 거리로 접근했는데, 옳은 방법이 아니었다. 2차원 배열 없이 풀 수 있는 문제.
풀이
입력되는 좌표와 범위를 입력받을 때마다, 모아놓은 나머지 지점들과의 거리를 계산, 범위가 겹치는 경우 유니온을 수행하여 마지막에 그룹의 개수를 출력하면 된다.
이번에는 그룹의 노드 개수를 파악하는 문제는 아니므로, 합병 수행 시 루트의 값은 바꾸지 않고 자식으로 들어갈 노드의 번호만 루트의 번호로 바꾸어 주면 된다.
두 지점의 범위 판정은 간단하다. 두 원점 사이의 거리가 두 지점의 범위의 총합보다 같거나 짧은 경우, 범위가 겹치는 것으로 판단하면 된다.
정답 코드
'Problem Solving > BOJ' 카테고리의 다른 글
[16724] 피리 부는 사나이 (0) | 2022.12.13 |
---|---|
[20955] 민서의 응급 수술 (0) | 2022.12.12 |
[17250] 은하철도 (0) | 2022.12.10 |
[18116] 로봇 조립 (0) | 2022.12.09 |
[3190] 뱀 (0) | 2022.12.08 |