:link:문제 링크

[28236 점심시간 레이스]

:question:문제 설명

양쪽 끝에서만 위아래로 이동할 수 있는 공간이 있고 몇개의 좌표가 주어질때 $(n,1)$로 가장 빠르게 이동할 수 있는 곳을 찾는 문제

:pencil2:코드

import sys
input = sys.stdin.readline


n, m, k = map(int, input().split())
res = []
min_d = float("inf")
for i in range(1, k + 1):
    a, b = map(int, input().split())
    dist = abs(1 - a) + abs(m - b)
    if dist < min_d:
        min_d = dist
        res = [i]
    elif dist == min_d:
        res.append(i)
print(sorted(res)[0])

:memo:풀이

그냥 각 좌표로부터 $(n,1)$까지 맨해튼 거리를 구해주면 끝!

댓글남기기