seastar105   4년 전

분할정복으로 풀려고 했습니다.

최근접점을 구해야하는 점의 수가 적으면 브루트포스로 구하고 아니면 분할하는 방식입니다. 입력을 받고나면 일단 x좌표를 기준으로 정렬했습니다.

반으로 분할 해서 오른쪽 왼쪽에서 가장 가까운 거리를 구하고, 둘 중에 더 작은 값을 m으로 놓습니다. 중간부분을 보기 위해서 왼쪽 마지막 값보다 작은 애들중에 d보다 적게 작은애들, 오른쪽 가장 작은 값보다 d보다 적게 큰 애들을 middle에 넣고 middle을 y좌표 기준으로 정렬한 다음에 이 middle 안에서 가장 가까운 쌍을 찾습니다.

이런 생각으로 짠 건데 계속 틀리네여 도와주세여

seastar105   4년 전

Point 구조체 좌표를 long long으로 바꾸고 거리 계산도 long long으로 전부 바꾸니까 이 코드 통과하는 거 같네여 이거로 하루죙일 고민했는데 해결되서 다행이에여

seastar105   4년 전

헉 아니네 solve 반환값을 int로만 바꿔도 통과하네영

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