아직 만들고 있는 페이지입니다.

이 페이지는 아직 만드는 중입니다. 보이는 내용은 바뀔 수 있습니다.

텔레포트 3

시간 제한2초메모리 제한512 MB

요약
1초에 한 칸씩 걷거나 10초가 걸리는 양방향 순간이동 세 개를 이용해 출발점에서 집까지 가는 최단 시간을 구한다.
난이도

보통10점 중 4점

유형
그래프, 최단 경로, 구현
정답자
아직 제출이 없습니다

문제

수빈이는 크기가 무한한 격자판에 살고 있다. 격자판의 각 점은 두 정수의 순서쌍 (x,y)(x, y)로 나타낸다.

수빈이는 처음에 (xs,ys)(x_s, y_s)에 있고, 집이 있는 (xe,ye)(x_e, y_e)로 이동하려고 한다.

이동하는 방법은 두 가지다. 첫 번째는 점프다. (x,y)(x, y)에 있을 때 (x+1,y)(x+1, y), (x−1,y)(x-1, y), (x,y+1)(x, y+1), (x,y−1)(x, y-1) 중 한 점으로 옮겨 가며, 점프 한 번에 1초가 걸린다.

두 번째는 텔레포트다. 텔레포트는 세 개가 미리 정해져 있고, 각각 네 좌표 (x1,y1)(x_1, y_1), (x2,y2)(x_2, y_2)로 주어진다. (x1,y1)(x_1, y_1)에서 (x2,y2)(x_2, y_2)로, 또는 (x2,y2)(x_2, y_2)에서 (x1,y1)(x_1, y_1)로 옮겨 갈 수 있고, 텔레포트 한 번에 10초가 걸린다. 같은 텔레포트를 몇 번이든 다시 써도 된다.

수빈이의 위치와 집의 위치가 주어졌을 때, 집에 도착하는 가장 빠른 시간을 구하는 프로그램을 작성하시오.

입력

첫째 줄에 xsx_s와 ysy_s가, 둘째 줄에 xex_e와 yey_e가 주어진다. (0≤xs,ys,xe,ye≤1090 \le x_s, y_s, x_e, y_e \le 10^9)

셋째 줄부터 세 줄에 걸쳐 텔레포트의 정보 x1x_1, y1y_1, x2x_2, y2y_2가 주어진다. (0≤x1,y1,x2,y2≤1090 \le x_1, y_1, x_2, y_2 \le 10^9)

입력으로 주어지는 좌표 8개는 모두 서로 다르다.

출력

수빈이가 집에 도착하는 가장 빠른 시간을 초 단위로 출력한다.

예제5

  1. 예제 1

    입력
    3 3
    4 5
    1000 1001 1000 1002
    1000 1003 1000 1004
    1000 1005 1000 1006
    
    예상 출력
    3
    
  2. 예제 2

    입력
    0 0
    20 20
    1 1 18 20
    1000 1003 1000 1004
    1000 1005 1000 1006
    
    예상 출력
    14
    
  3. 예제 3

    입력
    0 0
    20 20
    1000 1003 1000 1004
    18 20 1 1
    1000 1005 1000 1006
    
    예상 출력
    14
    
  4. 예제 4

    입력
    10 10
    10000 20000
    1000 1003 1000 1004
    3 3 10004 20002
    1000 1005 1000 1006
    
    예상 출력
    30
    
  5. 예제 5

    입력
    3 7
    10000 30000
    3 10 5200 4900
    12212 8699 9999 30011
    12200 8701 5203 4845
    
    예상 출력
    117