만드는 중입니다

아직 만드는 중이라 바뀔 수 있습니다

기벡을 안 배운다고?

면접 대비

시간 제한2초메모리 제한1024 MB

요약
2차원 정수 벡터 N개에서 내적이 0이 되는 쌍의 개수를 구합니다. 영벡터는 모든 벡터와 수직인 것으로 셉니다.
난이도

보통10점 중 5점

유형
해시맵, 수학
정답자
아직 제출이 없습니다

문제

민우는 22학번이다. 2022학년도 수능 수학에 선택 과목 제도가 생기면서 민우는 선택 과목으로 미적분을 택했고, 그래서 기하와 벡터의 아름다움을 알지 못했다. 기하와 벡터를 독학으로 통달한 민우는 2023 APC를 통해서라도 기하와 벡터의 아름다움을 설파하고자 한다.

2차원 평면상의 두 벡터 v1=(x1,y1)v_{1}=\left( x_{1},y_{1} \right)와 v2=(x2,y2)v_{2}=\left( x_{2},y_{2} \right)의 내적은 다음과 같이 정의된다.

v1⋅v2=x1x2+y1y2v_{1}\cdot v_{2}=x_{1}x_{2}+y_{1}y_{2}

두 벡터의 내적 값이 00이라면, 2차원 평면상에서 두 벡터는 수직이다.

NN개의 2차원 벡터가 주어질 때, 1≤i<j≤N1\leq i<j\leq N을 만족하면서 두 벡터 viv_{i}와 vjv_{j}가 수직인 순서쌍 (i,j)(i,j)의 개수를 구하시오.

입력

첫째 줄에 NN이 주어진다. (1≤N≤2000001\leq N\leq 200000)

둘째 줄부터 NN개 줄에 걸쳐 벡터 vi=(xi,yi)v_{i}=(x_{i},y_{i})의 xix_{i}와 yiy_{i}가 공백으로 구분되어 주어진다. (−109≤xi,yi≤109-10^{9}\leq x_{i},y_{i}\leq 10^{9})

입력으로 주어지는 모든 값은 정수다.

출력

1≤i<j≤N1\leq i<j\leq N을 만족하는 정수 ii와 jj에 대하여, 두 벡터 viv_{i}와 vjv_{j}가 서로 수직인 순서쌍 (i,j)(i,j)의 개수를 출력하시오.

예제1

  1. 예제 1

    입력
    9
    1 2
    3 5
    3 6
    2 -1
    -4 2
    4 -2
    -5 0
    -8 -16
    0 3
    
    예상 출력
    10