#178
마라톤 코스
원문: English
시간 제한
2s
메모리 제한
1024MB
제출
3
정답
2
맞힌 사람
2
정답 비율
66.7%
문제
은영이는 건강을 위해 유성구 도심에서 열리는 마라톤 대회에 참가하기로 했다. 마라톤 코스는 순서대로 방문해야 하는 개의 체크포인트로 구성되어 있으며, 번 체크포인트는 출발점, 번 체크포인트는 결승점이다.
은영이는 마라톤 코스의 모든 체크포인트를 순서대로 방문해야 하지만, 조금이라도 더 빨리 도착하기 위해 최대 하나의 체크포인트를 건너뛰어 총 이동 거리를 줄이려고 한다. 단, 번과 번 체크포인트는 대회 운영상 너무 눈에 띄기 때문에 건너뛸 수 없다.
은영이가 최대 하나의 체크포인트를 건너뛰었을 때 이동해야 하는 최소 거리를 구한다.
도심의 격자 도로망을 따라 이동하므로, 두 체크포인트 과 사이의 거리는 로 계산한다. 이러한 거리 측정 방식은 도심의 도로가 축 또는 축에 평행하여 대각선으로 가로질러 갈 수 없는 상황을 반영하며, 흔히 "맨해튼 거리"라고 불린다.
입력
첫째 줄에 체크포인트의 개수 이 주어진다. ()
다음 개의 줄에는 각 체크포인트의 좌표 와 가 공백으로 구분되어 주어진다. (; ) 체크포인트는 방문해야 하는 순서대로 제공된다.
마라톤 코스는 여러 번 겹칠 수 있으며, 서로 다른 순서의 체크포인트가 동일한 좌표에 위치할 수도 있다. 만약 은영이가 그런 체크포인트를 건너뛴다면, 해당 순서의 체크포인트 하나만 건너뛰는 것이며 동일한 위치의 다른 체크포인트들까지 건너뛰는 것은 아니다.
출력
은영이가 최대 하나의 체크포인트를 건너뛰었을 때 가능한 최소 이동 거리를 출력한다.
예제 입력 1
4
0 0
8 3
11 -1
10 0
예제 출력 1
14
코드 제출
코드를 제출하려면 로그인이 필요합니다.
로그인내 제출
제출 내역이 없습니다.
맞은 사람
| # | 순위 | 사용자 | 언어 | 시간 | 메모리 | 코드 길이 | |
|---|---|---|---|---|---|---|---|
| 5512 | 🥇 | 정준모 | C++ | 19ms | 2368KB | 1051B | |
| 5506 | 🥈 | 조서현 | Python | 125ms | 21652KB | 488B |
난이도 투표
로그인 후 AC 받으면 투표할 수 있습니다.