타일 배치 검증

아직 제출이 없습니다시간 제한1초메모리 제한128 MB

문제

직사각형 바닥을 직사각형 타일들로 빈틈없이 덮으려고 한다. 여러 개의 바닥이 주어질 때, 각 바닥에 놓인 타일들이 다음 세 조건을 모두 만족하는지 검사하는 프로그램을 작성하라.

  1. 타일들이 서로 겹치지 않는다(서로소).
  2. 타일이 바닥 밖으로 삐져나가지 않는다.
  3. 타일들이 바닥 전체를 덮는다.

모든 좌표는 정수이고, 각 타일은 양의 넓이를 가진다. 바닥의 왼쪽 아래 모서리는 원점 (0,0)(0, 0), 오른쪽 위 모서리는 (가로,세로)(\text{가로}, \text{세로})이다. 각 타일은 (xl,yl)(xl, yl)을 왼쪽 아래 모서리, (xh,yh)(xh, yh)를 오른쪽 위 모서리로 하는 직사각형이다.

입력

첫 번째 줄에 바닥의 개수가 주어진다.

각 바닥은 여러 줄로 기술된다. 첫 줄에는 바닥의 가로와 세로 길이를 나타내는 두 양의 정수가 밀리미터 단위로 주어지며, 가로와 세로는 각각 최대 4000040000이다. 다음 줄에는 타일의 개수 tt (1t1001 \le t \le 100)가 주어진다. 이어지는 tt개의 줄에는 각 타일이 네 정수

xl yl xh yh

로 주어진다. 여기서 (xl,yl)(xl, yl)은 타일의 왼쪽 아래 모서리, (xh,yh)(xh, yh)는 오른쪽 위 모서리의 좌표이다. 바닥과 타일의 좌표축은 서로 일치한다.

출력

각 바닥마다 다음 중 정확히 한 단어를 한 줄에 출력한다.

  • NONDISJOINT: 서로 겹치는 타일이 존재하는 경우
  • NONCONTAINED: 겹치는 타일은 없지만, 바닥 밖으로 나가는 타일이 있는 경우
  • NONCOVERING: 겹치는 타일도 없고 바닥 밖으로 나가는 타일도 없지만, 바닥의 일부가 덮이지 않은 경우
  • OK: 위의 어느 경우에도 해당하지 않는 경우