메뉴 건너뛰기

문제

18nm1 두 박스 2  

시간메모리제출 올바른 답 비율
1초128MB
5
3
60.0%


나의 횟수나의 최근 판정시도 성공 비율
53
60.0%
두 박스 

2차원 좌표 평면 위에 두 개의 박스(직사각형) PP, QQ가 놓여 있다. 각 박스의 변은 xx축이나 yy축에 평행하다. 

박스를 연구하는 학수는 이 두 박스의 교차 상태를 파악하여 내부가 겹쳐 있는지(FACE), 

그렇지 않고 선분에서 만나는지(LINE), 그렇지 않고 한 점에서 만나는지(POINT), 아예 만나지 않는지(NULL) 구별하려고 한다.

다음 그림은 두 박스의 여러 가지 교차상태의 예를 보여준다.

 FACE인 경우에는 (d)처럼 어느 한 박스가 다른 박스에 포함될 수도 있다는 점에 유의해야 한다.

두 박스의 정보가 주어졌을 때, 두 박스의 교차 상태를 출력하는 프로그램을 작성하시오.

입력

두 박스의 정보가 한 줄에 하나씩 주어진다.

각 박스의 정보는 왼쪽 아래 꼭짓점 좌표 (x1,y1)(x1,y1)과 오른쪽 위 꼭짓점 좌표 (x2,y2)(x2,y2)로 구성되는데 이들 좌푯값 x1x1, y1y1, x2x2, y2y2 (x1<x2,y1<y2)(x1<x2,y1<y2)가 공백을 사이에 두고 주어진다.

 

<부분문제의 제약 조건>

모든 부분문제에서 xx좌표와 yy좌표는 모두 −109−109이상 109109이하인 정수이다.​

  • 부분문제 1 (33점) : POINTPOINT나 LINELINE인 경우만 있다.
  • 부분문제 2 (30점) : 모든 좌푯값이 00 이상 1,0001,000 이하이다.
  • 부분문제 3 (37점) : 원래의 제약조건 이외에 아무 제약조건이 없다.
출력

두 박스의 교차 상태를 POINTPOINT, LINELINE, FACEFACE, NULLNULL 중의 하나로 출력한다. 두 박스의 교차 상태는 모두 대문자로 출력한다.

예시
1입력
1 2 3 5
3 5 8 11
출력
POINT
2입력
3 5 9 10
5 4 8 11
출력
FACE
3입력
1 2 3 5
9 3 12 7
출력
NULL
4입력
3 5 9 10
9 3 12 7
출력
LINE
출처
2018년 한국정보올림피아드 전국 본선 중등부 1번
위로