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

[코드트리 자리 수 단위로 완전탐색] 마라톤 중간에 택시타기 2 python

kurooru 2022. 11. 14. 15:03
# n 입력
n = int(input())
# check_points
check_points = []
# check_point 입력
for _ in range(n):
    x, y = map(int, input().split())
    check_points.append([x, y])

# 함수들
# simulate(k)
def simulate(k):
    
    # curr_dist
    curr_dist = 0

    # temp_check_points
    temp_check_points = []

    # check_points를 돌면서
    for i in range(n):
        # k번째를 제외한 check_point를 넣어줌
        if i == k:
            continue
        else:
            temp_check_points.append(check_points[i])
    
    # temp_check_points를 돌면서
    for i in range(n-2):
        # curr_dist에 추가
        curr_dist += abs(temp_check_points[i][0] - temp_check_points[i+1][0]) + abs(temp_check_points[i][1] - temp_check_points[i+1][1])

    # 반환
    return curr_dist
        
# 설계
# min_dist 설정
import sys
min_dist = sys.maxsize

# 1부터 n-2까지
for i in range(1, n-1):
    # min_dist 업데이트
    min_dist = min(min_dist, simulate(i))

# 출력
print(min_dist)