페이지가 로드되지 않나요? 여기를 눌러보면 고쳐질 수도 있어요.
Placeholder

#3262

반직선이 만나는 경우의 수 1초 128MB

문제

N개의 반직선이 2차원 평면에 주어진다.

반직선의 시작점은 0초과 L미만의 정수값을 갖는다.

N개의 반직선중에 임의의 두 반직선이 만나는 경우의 수를 구하라.

 

N개의 반직선의 시작점은 모두 다르다.

각 반직선은 시작점과 움직이는 방향점으로 표현된다.

두 반직선이 만나는 경우 만나는 점이(0, 0) ~ (L, L)에 위치한 경우만 유효한 것으로 간주한다. 

오차의 범위는 소수이하 6자리까지이다.

 

입력예에 대한 그림설명은 아래와 같다.

 


입력

첫 행에 반직선의 개수 N(1 <= N <= 1,000)과 평면의 크기 L(10 <= L <= 10,000)이 공백으로 구분되어 주어진다.

다음 N행에 걸쳐 각 반직선의 정보가 주어진다. 

반직선의 정보는 시작점과 방향을 나타내는 4개의 정수 sx, sy, dx, dy ( 0 < sx, sy, dx, dy < L ) 가 주어진다.

이는 점(sx, sy)로부터 점(dx, dy)로 향한 반직선을 의미한다.


출력

N개의 반직선중에 임의의 두 반직선이 (0, 0) ~ (L, L) 범위에서 만나는 경우의 수를 출력한다.


예제1

입력
1020

213915
610511
712611
13141112
8162
64105
98118
104410
1519151
8171015
출력
15

예제2

입력
315
1464
12127
64114
출력
2

예제3

입력
312
8797
81162
7737
출력
0


출처

JUNGOL - comkiwer

역링크