[BOJ 9937] 직선으로 만드는 삼각형

View as PDF

Submit solution

Points: 3
Time limit: 1.0s
Memory limit: 128M

Problem types
Allowed languages
Assembly, Awk, C, C++, Java, Pascal, Perl, Python, Sed, Text

상근이는 좌표 평면 위의 Aix + Biy + Ci = 0 로 나타낼 수 있는 직선 N개를 가지고 있다.

상근이가 가지고 있는 직선으로 만들어지는 삼각형의 개수를 구하는 프로그램을 작성하시오.

세 직선이 한 점에서 만나는 경우는 없다.

입력 형식

첫째 줄에 직선의 개수 N이 주어진다. (1 ≤ N ≤ 300,000)

다음 N개 줄에는 i번째 직선의 Ai, Bi, Ci가 주어진다. 모든 숫자는 절댓값이 109보다 작거나 같은 정수이다.

출력 형식

첫째 줄에 입력으로 주어진 직선이 만드는 삼각형의 개수를 출력한다. 개수가 매우 많을 수 있기 때문에, 1,000,000,007로 나눈 나머지를 출력한다.

예제 입력 1

6
0 1 0
-5 3 0
-5 -2 25
0 1 -3
0 1 -2
-4 -5 29

예제 출력 1

10

예제 입력 2

5
-5 3 0
-5 -3 -30
0 1 0
3 7 35
1 -2 -1

예제 출력 2

10

Comments

There are no comments at the moment.