신아를 만나러

면접 대비

시간 제한1초메모리 제한128 MB

요약
좌표 범위가 제한된 격자에서 최대 10^4개의 웅덩이를 피해 (0,0)에서 (X,Y)까지 상하좌우로 이동하는 최단 거리를 구한다.
난이도

보통10점 중 4점

유형
BFS, 그래프, 최단 경로, 해시맵
정답자
아직 제출이 없습니다

문제

키파는 신아를 만나러 아침 일찍 집을 나섰다. 간밤에 거센 비가 내려, 새로 산 장화를 신고 (0,0)(0, 0)에 있는 집을 나선 키파는 NN개의 웅덩이가 생긴 것을 발견했다. ii번째 웅덩이는 (Ai,Bi)(A_i, B_i)에 있으며, 키파는 모든 웅덩이의 위치를 알고 있다.

키파는 (X,Y)(X, Y)에 있는 신아의 집으로 최대한 빨리 가고 싶다. 다만 장화가 새 것이므로 웅덩이는 밟지 않으려 한다. 키파는 상하좌우 네 방향으로만 한 칸씩 이동할 수 있다. 웅덩이를 밟지 않고 신아의 집까지 가는 최소 이동 거리(이동한 칸 수)를 구하여라. 신아의 집에 도착하기 위해 반드시 웅덩이를 밟아야 하는 경우는 없다고 가정한다.

제약: 1≤N≤1041 \le N \le 10^4, ∣Ai∣≤500|A_i| \le 500, ∣Bi∣≤500|B_i| \le 500.

입력

첫째 줄에 XX, YY, NN이 공백으로 구분되어 주어진다.

이어지는 NN개의 줄 중 ii번째 줄에는 ii번째 웅덩이의 좌표 AiA_i와 BiB_i가 공백으로 구분되어 주어진다.

출력

웅덩이를 밟지 않고 신아의 집에 도달하는 최소 이동 거리를 첫째 줄에 출력한다.

힌트

신아의 집은 (1,2)(1, 2)에 있다. 아래 그림은 웅덩이가 7개 있는 상황을 나타낸다. M은 웅덩이, B는 신아의 집, *는 키파의 출발점 (0,0)(0, 0)을 나타낸다.

   4 . . . . . . . .
   3 . M . . . . . .
Y  2 . . M B M . M .
   1 . M . M . M . .
   0 . . * . . . . .
  -1 . . . . . . . .
    -2-1 0 1 2 3 4 5
           X

이때 가장 짧은 경로는 아래 그림에서 *로 표시된 길이며, 그 길이는 1111이다.

   4 ******* . . . .
   3 * M . * . . . .
Y  2 * . M B M . M .
   1 * M . M . M . .
   0 ***** . . . . .
  -1 . . . . . . . .
    -2-1 0 1 2 3 4 5

           X

예제1

  1. 예제 1

    입력
    1 2 7
    0 2
    -1 3
    3 1
    1 1
    4 2
    -1 1
    2 2
    
    예상 출력
    11