페이지가 로드되지 않나요? 여기를 눌러보면 고쳐질 수도 있어요.
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

입력
10 20

2 13 9 15
6 10 5 11
7 12 6 11
13 14 11 12
8 1 6 2
6 4 10 5
9 8 11 8
10 4 4 10
15 19 15 1
8 17 10 15
출력
15

예제2

입력
3 15
1 4 6 4
1 2 12 7
6 4 11 4
출력
2

예제3

입력
3 12
8 7 9 7
8 11 6 2
7 7 3 7
출력
0


출처

JUNGOL - comkiwer

역링크 공식 문제집만