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

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

장애물을 탈출하는 로봇

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

요약
수평과 수직 이동만으로 정사각형 로봇이 직교 다각형 장애물에 닿지 않고 경계 사각형 밖으로 탈출할 수 있는지 판단합니다.
난이도

어려움10점 중 8점

유형
기하, 그래프, BFS
정답자
아직 제출이 없습니다

문제

2차원 평면에 로봇 하나와 장애물 하나가 있다. 로봇은 축에 평행한 정사각형이고, 장애물은 모든 변이 수평 또는 수직인 직교 다각형(rectilinear polygon)이다. 처음에 로봇은 장애물의 완전히 바깥에 있다. 즉 장애물의 경계에 닿지 않고 내부에도 들어가 있지 않다.

로봇은 수평 또는 수직 방향으로만 평행 이동하면서, 장애물과 한 번도 겹치지 않고 장애물을 탈출하려고 한다. 로봇이 장애물을 포함하는 가장 작은 축 평행 직사각형의 바깥으로 완전히 빠져나오면 탈출에 성공한 것으로 본다 (그림 1과 그림 2 참고). 로봇은 처음부터 이 직사각형의 바깥에 있을 수도 있다.

그림 1에서는 로봇이 탈출할 수 없지만, 그림 2에서는 탈출할 수 있다. RR은 로봇, PP는 장애물을 나타낸다. PP의 꼭짓점을 (x,y)(x, y)라 하면 xx와 yy는 모두 1010의 배수이고 10≤x,y≤1,000,00010 \le x, y \le 1{,}000{,}000이다. RR의 한 변의 길이는 1,000,0001{,}000{,}000보다 작은 자연수이며, 일의 자리는 항상 22이다 (예: 2,12,22,32,…2, 12, 22, 32, \dots).

그림 1

그림 2

로봇이 장애물을 탈출할 수 있는지 판정하는 프로그램을 작성하라.

입력

첫째 줄에 테스트 케이스의 수 TT가 주어진다.

각 테스트 케이스는 다음과 같이 주어진다. 첫째 줄에 세 정수 nxn_x, nyn_y, ww (2≤nx,ny,w≤1,000,0002 \le n_x, n_y, w \le 1{,}000{,}000)가 주어지며, (nx,ny)(n_x, n_y)는 로봇 RR의 왼쪽 아래 꼭짓점 좌표이고 ww는 RR의 한 변의 길이로 일의 자리가 항상 22이다. 둘째 줄에 직교 다각형 PP의 꼭짓점 개수 nn (4≤n≤1,0004 \le n \le 1{,}000)이 주어진다. 이어지는 nn개의 줄에는 PP의 꼭짓점 좌표가 반시계 방향으로 하나씩 주어지며, 각 줄에는 두 정수 xx와 yy가 있다 (10≤x,y≤1,000,00010 \le x, y \le 1{,}000{,}000, 둘 다 1010의 배수). 모든 테스트 케이스에서 로봇은 PP의 바깥에서 시작한다.

출력

각 테스트 케이스마다 로봇이 장애물을 탈출할 수 있으면 YES를, 그렇지 않으면 NO를 한 줄에 출력한다.

예제3

  1. 예제 1

    입력
    2
    30 30 12
    12
    10 10
    90 10
    90 60
    80 60
    80 20
    20 20
    20 70
    50 70
    50 50
    70 50
    70 90
    10 90
    200 200 52
    12
    450 500
    100 500
    100 100
    450 100
    450 250
    350 250
    350 150
    150 150
    150 300
    250 300
    250 400
    450 400
    
    예상 출력
    NO
    YES
    
  2. 예제 2

    입력
    1
    10 10 12
    4
    50 50
    150 50
    150 150
    50 150
    
    예상 출력
    YES
    
  3. 예제 3

    입력
    1
    40 40 12
    12
    10 10
    130 10
    130 130
    80 130
    80 90
    110 90
    110 30
    30 30
    30 90
    60 90
    60 130
    10 130
    
    예상 출력
    YES