Algorithm(CodeTree, Python)/완전탐색2

[코드트리 물체 단위로 완전탐색] 가장 가까운 두 점 사이의 거리 python

kurooru 2022. 12. 15. 12:46
# n 입력
n = int(input())
# pos_list
pos_list = list()
# pos_list 입력
for _ in range(n):
    pos_list.append(tuple(map(int, input().split())))

# 함수들
# calc(a, b)
def calc(a, b):
    
    # x_1, y_1, x_2, y_2 언팩킹
    x_1, y_1 = pos_list[a]
    x_2, y_2 = pos_list[b]

    # curr_dist
    curr_dist = (x_1 - x_2) ** 2 + (y_1 - y_2) ** 2

    # 반환
    return curr_dist

# 설계
# min_dist
import sys
min_dist = sys.maxsize

# 완전 탐색 시작
for i in range(len(pos_list) - 1):
    for j in range(i+1, len(pos_list)):
        # min_dist 업데이트
        min_dist = min(min_dist, calc(i, j))

# 출력
print(min_dist)