감시자를 감시하는 자는 누구인가
시간 제한4초메모리 제한2048 MB
각 감시 드론이 다른 드론 하나를 보고, 그 드론에게 한 번만 보이도록 드론의 위치와 방향을 바꾸는 최소 에너지를 구합니다.
문제
일급 비밀 시설을 지키는 센트리 드론이 여러 대 있다. 각 센트리는 3차원 공간의 한 점에 고정되어 있고, 어떤 시선 방향을 향하고 있다.
인공지능 기술이 발전하면서 시설 소유자들은 시설에 가장 큰 위협이 침입자가 아니라 센트리 자신이라는 것을 깨달았다! 보안을 위해 소유자는 모든 센트리가 다른 센트리 한 대를 보고 있고, 모든 센트리가 정확히 다른 센트리 한 대에게 보이도록 센트리들을 조정하려고 한다.
센트리의 시선 방향을 바꾸는 데 에너지 단위가 든다. 센트리를 새 위치로 옮기는 데는 에너지 단위가 든다. 두 작업은 서로 독립적이다. 위치와 시선 방향을 모두 바꾸면 총 단위의 에너지가 든다. 이동이 끝난 뒤 두 센트리가 같은 위치에 있을 수 없다. 이동한 센트리의 위치가 정수 격자점 위에 있지 않을 수도 있다.
위치 에 있고 방향 를 향하는 센트리는 인 점 를 볼 수 있다. 단, 그 사이에 다른 센트리가 있으면 볼 수 없다. 모든 센트리가 정확히 다른 센트리 한 대에게 보이도록 센트리들을 재배치하는 데 필요한 최소 에너지는 얼마인가?
입력
첫 줄에 센트리의 수 ()이 주어진다.
다음 개 줄에는 여섯 정수 , , , , , 가 주어진다. 이는 에 있는 센트리가 방향을 향하고 있다는 뜻이다. 모든 값은 이상 이하이다. , , 중 적어도 하나는 0이 아니다. 같은 위치에 있는 센트리는 없다.
출력
모든 센트리가 정확히 다른 센트리 한 대에게 보이도록 재배치하는 데 필요한 최소 에너지를 정수 하나로 출력한다. 그런 배치가 불가능하면 을 출력한다.