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

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

회전하는 전광판

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

요약
단순 다각형이 주어질 때, 모든 경계 점을 볼 수 있는 내부 점이 존재하는지, 즉 다각형의 커널이 비어 있지 않은지 판정한다.
난이도

어려움10점 중 8점

유형
기하, 구현, 완전 탐색, 분할 정복
정답자
아직 제출이 없습니다

문제

올해 ACM-ICPC 월드 파이널이 단순 다각형 모양의 홀에서 열린다. 코치와 관중은 다각형의 변을 따라 앉는다. 홀 어딘가에 회전하는 전광판을 설치하여 홀 경계 위 어느 지점에 앉은 관중이라도 전광판을 볼 수 있도록, 즉 시선이 벽에 가로막히지 않도록 하려고 한다. 관중의 시선이 다각형 경계에 접하는 경우(꼭짓점이나 변에 스치는 경우)에도 전광판을 볼 수 있는 것으로 본다. 관중의 자리는 단순 다각형 경계 위의 점으로, 전광판 또한 하나의 점으로 생각한다. 홀의 꼭짓점(다각형의 정점)들이 주어질 때, 다각형 내부의 한 점에 전광판을 놓아 다각형의 모든 변 위 임의의 점에서 전광판을 볼 수 있는 위치가 존재하는지 판정하는 프로그램을 작성하라.

입력

입력의 첫 번째 수 TT 는 테스트 케이스의 개수이다. 각 테스트 케이스는 한 줄에 n x1 y1 x2 y2 … xn ynn\ x_1\ y_1\ x_2\ y_2\ \dots\ x_n\ y_n 형식으로 주어진다. 여기서 nn (3≤n≤1003 \le n \le 100) 은 다각형의 정점 개수이고, 정수 쌍 xi yix_i\ y_i 들은 다각형의 정점을 순서대로(시계 방향 또는 반시계 방향) 나열한 것이다.

출력

각 테스트 케이스마다 한 줄씩, 입력과 같은 순서로 TT 줄을 출력한다. 각 줄에는 문제의 조건을 만족하도록 전광판을 홀 안에 놓을 수 있으면 YES 를, 그렇지 않으면 NO 를 출력한다.

예제1

  1. 예제 1

    입력
    2
    4 0 0 0 1 1 1 1 0
    8 0 0  0 2  1 2  1 1  2 1  2 2  3 2  3 0
    
    예상 출력
    YES
    NO