만드는 중입니다

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

감시자를 감시하는 자는 누구인가

시간 제한4초메모리 제한2048 MB

요약
각 감시 드론이 다른 드론 하나를 보고, 그 드론에게 한 번만 보이도록 드론의 위치와 방향을 바꾸는 최소 에너지를 구합니다.
난이도

어려움10점 중 9점

유형
기하, 그래프, 수학
정답자
아직 제출이 없습니다

문제

일급 비밀 시설을 지키는 센트리 드론이 여러 대 있다. 각 센트리는 3차원 공간의 한 점에 고정되어 있고, 어떤 시선 방향을 향하고 있다.

인공지능 기술이 발전하면서 시설 소유자들은 시설에 가장 큰 위협이 침입자가 아니라 센트리 자신이라는 것을 깨달았다! 보안을 위해 소유자는 모든 센트리가 다른 센트리 한 대를 보고 있고, 모든 센트리가 정확히 다른 센트리 한 대에게 보이도록 센트리들을 조정하려고 한다.

센트리의 시선 방향을 바꾸는 데 에너지 11단위가 든다. 센트리를 새 위치로 옮기는 데는 에너지 1 0001\,000단위가 든다. 두 작업은 서로 독립적이다. 위치와 시선 방향을 모두 바꾸면 총 1 0011\,001단위의 에너지가 든다. 이동이 끝난 뒤 두 센트리가 같은 위치에 있을 수 없다. 이동한 센트리의 위치가 정수 격자점 위에 있지 않을 수도 있다.

위치 (x,y,z)(x,y,z)에 있고 방향 (vx,vy,vz)(vx,vy,vz)를 향하는 센트리는 t≥0t \ge 0인 점 (x+t⋅vx,y+t⋅vy,z+t⋅vz)(x + t \cdot vx, y + t \cdot vy, z + t \cdot vz)를 볼 수 있다. 단, 그 사이에 다른 센트리가 있으면 볼 수 없다. 모든 센트리가 정확히 다른 센트리 한 대에게 보이도록 센트리들을 재배치하는 데 필요한 최소 에너지는 얼마인가?

입력

첫 줄에 센트리의 수 nn (1≤n≤5001 \le n \le 500)이 주어진다.

다음 nn개 줄에는 여섯 정수 xx, yy, zz, vxvx, vyvy, vzvz가 주어진다. 이는 (x,y,z)(x,y,z)에 있는 센트리가 (vx,vy,vz)(vx,vy,vz) 방향을 향하고 있다는 뜻이다. 모든 값은 −106-10^6 이상 10610^6 이하이다. vxvx, vyvy, vzvz 중 적어도 하나는 0이 아니다. 같은 위치에 있는 센트리는 없다.

출력

모든 센트리가 정확히 다른 센트리 한 대에게 보이도록 재배치하는 데 필요한 최소 에너지를 정수 하나로 출력한다. 그런 배치가 불가능하면 −1-1을 출력한다.

예제1

  1. 예제 1

    입력
    4
    66 45 10 73 39 36
    95 14 26 47 84 59
    14 66 89 89 36 78
    16 27 94 79 24 24
    
    예상 출력
    4