만드는 중입니다

아직 만드는 중이라 바뀔 수 있습니다

골프

시간 제한5초메모리 제한1024 MB

요약
축에 평행한 방향으로만 공을 치며 사각형 장애물을 피해 (S, T)에서 (U, V)까지 옮기는 최소 타수를 구합니다.
난이도

보통10점 중 7점

유형
BFS, 그래프, 세그먼트 트리
정답자
아직 제출이 없습니다

문제

JOI 군은 특별한 골프 코스에서 골프를 연습하는 소년이다.

코스는 xyxy 좌표평면이다. 코스에는 NN개의 장애물이 있다. ii번째 장애물(1≤i≤N1 \le i \le N)은 xx좌표가 AiA_i 이상 BiB_i 이하이고 yy좌표가 CiC_i 이상 DiD_i 이하인 직사각형 영역을 차지한다. 두 장애물은 경계를 포함해서 서로 겹치지 않는다.

시작점은 (S,T)(S, T)이고 도착점은 (U,V)(U, V)이다. 두 점은 서로 다르며, 어떤 장애물의 내부나 경계에도 포함되지 않는다. 처음에 골프공은 시작점에 놓여 있다.

JOI 군은 공을 좌표축에 평행한 네 방향 중 하나로 쳐서 원하는 거리만큼 보낼 수 있다. 공의 궤적은 어떤 장애물의 내부와도 닿으면 안 된다. 공은 장애물의 경계를 통과할 수 있고, 경계 위에 멈출 수도 있다. 경계 위에 멈춘 공은 바로 막히지 않은 방향으로 쳐서 진행 방향을 바꿀 수 있다.

골프공을 시작점에서 도착점까지 옮기는 데 필요한 최소 타수를 구하라.

입력

첫째 줄에 공백으로 구분된 정수 SS, TT, UU, VV가 주어진다. 둘째 줄에 NN이 주어진다. 이어지는 NN개의 줄에는 각각 공백으로 구분된 정수 AiA_i, BiB_i, CiC_i, DiD_i가 주어진다.

출력

최소 타수를 한 줄에 출력한다.

제한

  • 1≤S,T,U,V≤1 000 000 0001 \le S, T, U, V \le 1\,000\,000\,000
  • 1≤N≤100 0001 \le N \le 100\,000
  • 모든 ii에 대해 1≤Ai<Bi≤1 000 000 0001 \le A_i < B_i \le 1\,000\,000\,000
  • 모든 ii에 대해 1≤Ci<Di≤1 000 000 0001 \le C_i < D_i \le 1\,000\,000\,000
  • (S,T)≠(U,V)(S, T) \ne (U, V)
  • 장애물은 경계를 포함해서 서로 겹치지 않는다.
  • 시작점과 도착점은 어떤 장애물의 내부나 경계에도 포함되지 않는다.

예제3

  1. 예제 1

    입력
    3 5 8 6
    1
    5 6 2 8
    
    예상 출력
    3
    
  2. 예제 2

    입력
    1 1 1 10
    3
    5 6 2 8
    1 2 2 3
    8 10 3 5
    
    예상 출력
    1
    
  3. 예제 3

    입력
    20 68 85 74
    5
    30 70 14 100
    5 24 15 67
    75 86 75 79
    75 90 19 62
    93 98 26 58
    
    예상 출력
    4