백준 #28236 점심시간 레이스
문제 링크
문제 설명
양쪽 끝에서만 위아래로 이동할 수 있는 공간이 있고 몇개의 좌표가 주어질때 $(n,1)$로 가장 빠르게 이동할 수 있는 곳을 찾는 문제
코드
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])
풀이
그냥 각 좌표로부터 $(n,1)$까지 맨해튼 거리를 구해주면 끝!
댓글남기기