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

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

트램폴린

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

요약
아래로 이동할 수 있는 칸이 N개만 주어진 거대한 격자에서, 각 질의마다 한 칸에서 다른 칸으로 갈 수 있는지 판정한다.
난이도

보통10점 중 7점

유형
정렬, 이분 탐색, 누적 합, 구현
정답자
아직 제출이 없습니다

문제

어린 스퀘어는 학교 체육관에서 트램폴린을 타기 시작했다. 체육관에는 R개의 행과 C개의 열로 이루어진 직사각형 격자에 R × C개의 트램폴린이 놓여 있다. 각 트램폴린은 초록색 또는 파란색이다. 초록색 트램폴린은 정확히 N개 있다. (i, j)는 i번째 행 j번째 열에 있는 트램폴린을 나타낸다. 행은 1부터 R까지, 열은 1부터 C까지 번호를 매긴다.

스퀘어의 선생님은 그에게 T개의 체조 동작을 연습하라고 했다. i번째 동작의 규칙은 다음과 같다.

  • 동작은 트램폴린 (xistart, yistart)에서 시작한다.
  • 동작은 트램폴린 (xistop, yistop)에서 끝난다.
  • 스퀘어가 (i, j)에 있는 초록색 트램폴린을 밟으면, 격자 밖으로 나가지 않는 한 (i + 1, j) 또는 (i, j + 1)로 갈 수 있다.
  • 스퀘어가 (i, j)에 있는 파란색 트램폴린을 밟으면, 격자 밖으로 나가지 않는 한 (i, j+1)로 갈 수 있다.

스퀘어는 각 동작마다 선생님의 요청을 수행할 수 있는지 알고 싶어 한다.

입력

입력의 첫 줄에는 R, C, N이 주어진다. 다음 N개 줄에는 초록색 트램폴린의 위치가 주어진다. 한 줄에 정수 a b가 있으면 (a, b)에 초록색 트램폴린이 있다는 뜻이다. 그다음 줄에는 T가 주어진다. 다음 T개 줄에는 체조 동작의 설명이 주어진다. 이 중 i번째 줄에는 xistart, yistart, xistop, yistop가 주어진다.

출력

T개 줄을 출력한다. i번째 줄에는 i번째 동작을 수행할 수 있으면 Yes, 아니면 No를 출력한다.

제한

  • 1 ≤ R, C ≤ 1,000,000,000
  • 1 ≤ N, T ≤ 200,000
  • 1 ≤ xistart, xistop ≤ R
  • 1 ≤ yistart, yistop ≤ C
  • 초록색 트램폴린의 좌표는 서로 다르다.

힌트

트램폴린은 다음과 같이 배치되어 있다.

첫 번째 동작에서 스퀘어는 (2, 1) → (2, 2) → (3, 2) → (3, 3) → (3, 4) → (4, 4) → (4, 5) 경로로 갈 수 있다.

두 번째 동작에서 스퀘어는 (1, 2) → (1, 3) → (1, 4) 경로로 갈 수 있다.

세 번째 동작은 수행할 수 없다. (2, 3)에서 (4, 4)로 가는 경로 중 선생님의 규칙을 따르는 경로가 없다.

예제1

  1. 예제 1

    입력
    4 5 2
    2 2
    3 4
    3
    2 1 4 5
    1 2 1 4
    2 3 4 4
    
    예상 출력
    Yes
    Yes
    No