Informatica Online Judge

  사각형 자르기 [0326 / 0146]

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


The Champion of this Problem (C++) : gs17106 - 0ms / 331byte
My Best Submission (C++) : N/A

[KOI 고등]

Background

네 꼭지점의 좌표가 각각 (10, 10), (10, -10), (-10, -10), (-10, 10)인 정사각형이 있다.



양 끝점이 정사각형 밖에 위치한 선분들을 그려 정사각형을 여러 개의 영역으로 나눌 수 있다. 예를 들어 <그림 2>와 같이 세 개의 선분을 그리면 정사각형은 일곱 개의 영역으로 나누어진다.



셋 이상의 선분은 한 점 위에서 만나지 않으며 두 선분은 같은 직선 상에 있지 않다. 선분의 개수 N과 선분의 양 끝점의 좌표가 주어질 때 정사각형이 이들 선분들에 의해 몇 개의 영역으로 나누어지는지를 출력하는 프로그램을 작성하시오.

Input

첫째 줄에 선분의 개수 N이 주어진다. 둘째 줄부터 한 줄에 하나씩 선분의 양 끝점의 좌표를 나타내는 네 개의 정수 x1, y1, x2, y2가 주어진다. 이는 (x1, y1)와 (x2, y2)를 잇는 선분을 의미한다. N은 100이하의 자연수이고, x1, y1, x2, y2는 모두 -1000이상 1000이하의 정수이다. 모든 선분의 양 끝점은 정사각형 밖에 위치한다.

Output

첫째 줄에 입력으로 주어진 선분들에 의해 정사각형이 몇 개의 영역으로 나누어지는지 출력한다.

IO Example

입출력예시>
입력
3
-15 5 15 5
12 12 -14 -14
-7 18 0 -15

출력
7

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