Informatica Online Judge

  두 박스 [2325 / 0915]

Time Limit(Test case) : 1000 (ms)
Number of users who solved : 22   Total Tried : 23


The Champion of this Problem (C++) : gs18110 - ms / 460byte
My Best Submission (C++) : N/A

[KOI 2018]

Background

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

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

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

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




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

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

Input

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

각 박스의 정보는 왼쪽 아래 꼭짓점 좌표 (x1,y1)과 오른쪽 위 꼭짓점 좌표 (x2,y2)로 구성되는데

이들 좌푯값 $x1$, $y1$, $x2$, $y2$ ($x1 < x2$, $y1 < y2$)가 공백을 사이에 두고 주어진다.

- 부분문제의 제약 조건

모든 부분문제에서 x좌표와 y좌표는 모두 $−10^9$이상 $10^9$이하인 정수이다.​

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

Output

두 박스의 교차 상태를 POINT, LINE, FACE, NULL 중의 하나로 출력한다. 두 박스의 교차 상태는 모두 대문자로 출력한다.

IO Example

입력
1 2 3 5
3 5 8 11

출력
POINT

Submit : [C/C++] | [C++11] | [Obj-C] | [Java] | [Python]
Prob Analysis : [Problem Statistics] | [Solution]