용과 기사들

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

요약
n개의 직선이 만드는 평면 분할에서 m개의 점이 모든 영역을 하나씩 포함하는지 판별하는 문제입니다.
난이도

보통10점 중 7점

유형
기하, 해시맵, 수학
정답자
아직 제출이 없습니다

문제

용이 바이트 왕국으로 이주하여 여러 구역을 위협하고 있다.

왕국은 유클리드 평면이다. 강이 n개 있으며, 각 강은 무한한 직선을 따라 흐른다. 어떤 두 강도 같은 직선 위에 있지 않고, 어떤 세 강도 한 점에서 만나지 않는다(단, 두 강이 서로 평행할 수는 있다). 강들은 평면을 여러 개의 연결된 구역으로 나눈다.

기사는 m명 있다. 각 기사는 고정된 한 점(강 위에는 절대 서지 않는다)에 서서 그 점이 속한 구역을 지킨다. 두 기사가 같은 점에 설 수도 있다. 용은 기사가 한 명이라도 있는 구역은 공격하지 않지만, 기사가 한 명도 없는 구역은 공격한다.

강들과 기사들의 위치가 주어질 때, 모든 구역이 방어되고 있는지 판정하여라.

입력

첫 줄에 테스트 케이스의 수 T가 주어진다. 각 테스트 케이스는 다음과 같이 주어진다.

  • 첫 줄에 강의 수 n과 기사의 수 m이 주어진다 (1≤n≤1001 \le n \le 100, 1≤m≤50 0001 \le m \le 50\,000).
  • 이어서 n개의 줄이 주어진다. j번째 줄에는 세 정수 AjA_j, BjB_j, CjC_j (절댓값이 10 00010\,000 이하)가 주어지며, 이는 j번째 강이 흐르는 직선 Aj⋅x+Bj⋅y+Cj=0A_j \cdot x + B_j \cdot y + C_j = 0의 계수이다.
  • 이어서 m개의 줄이 주어진다. i번째 줄에는 두 정수 XiX_i, YiY_i (−109≤Xi,Yi≤109-10^9 \le X_i, Y_i \le 10^9)가 주어지며, 이는 i번째 기사의 위치이다. 어떤 기사도 강 위에 있지 않다.

어떤 두 강도 같은 직선 위에 있지 않으며, 어떤 세 강도 한 점에서 만나지 않는다.

출력

각 테스트 케이스마다 한 줄을 출력한다. 모든 구역에 기사가 한 명 이상 있으면 PROTECTED를, 그렇지 않으면 VULNERABLE을 출력한다. 답은 입력에 주어진 테스트 케이스 순서대로 출력한다.

예제5

  1. 예제 1

    입력
    2
    3 7
    0 1 0
    1 0 0
    1 1 -3
    1 1
    5 -1
    3 2
    2 -2
    -2 6
    -1 -2
    -8 4
    1 1
    0 1 0
    0 1
    
    예상 출력
    PROTECTED
    VULNERABLE
    
  2. 예제 2

    입력
    1
    1 2
    0 1 0
    0 5
    0 -5
    
    예상 출력
    PROTECTED
    
  3. 예제 3

    입력
    1
    1 2
    0 1 0
    0 5
    0 3
    
    예상 출력
    VULNERABLE
    
  4. 예제 4

    입력
    1
    2 4
    1 0 0
    0 1 0
    1 1
    -1 1
    -1 -1
    1 -1
    
    예상 출력
    PROTECTED
    
  5. 예제 5

    입력
    1
    2 3
    1 0 0
    0 1 0
    1 1
    -1 1
    -1 -1
    
    예상 출력
    VULNERABLE