만드는 중입니다

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

별들의 전쟁

면접 대비

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

요약
두 사면체의 여덟 꼭짓점 좌표가 주어질 때 공간에서 두 사면체 사이의 최단 거리를 구한다.
난이도

어려움10점 중 8점

유형
기하, 구현, 완전 탐색
정답자
아직 제출이 없습니다

문제

아주 먼 옛날 아주 먼 은하계에 모든 것을 지배하는 제국이 있었다. 이 상황에 불만을 품은 반란 연합은 모든 종족에게 민주주의와 평화를 되찾아 주려고 제국에 맞서 싸우기로 했다.

반란군 지휘관 중 한 명인 카엘 함장은 순양함을 몰고 우주를 항해하다가 제국 함선을 발견했다. 그 시대의 미적 기준에 따라 모든 함선은 사면체다. 제국의 기습 공격을 받은 카엘은 지금이 사격 위치라는 것을 알아챘고, 자기 함선의 어느 점에나 포를 놓을 수 있다.

무기의 출력이 고정되어 있어서, 카엘은 피해를 줄이려고 에너지 빔이 제국 함선까지 나아가는 거리가 가장 짧아지도록 포를 놓으려 한다. 그래서 부함장인 당신 신 탈리그에게 반란군 함선과 제국 함선 사이의 최단 거리를 계산해 달라고 했다.

입력

입력은 여러 개의 테스트 케이스로 이루어진다. 첫 줄에 테스트 케이스의 수 TT가 주어진다. 각 테스트 케이스는 여덟 줄로 이루어지고, 각 줄은 함선 꼭짓점 하나의 좌표를 나타낸다. 처음 네 줄은 반란군 함선의 꼭짓점이고, 그다음 네 줄은 제국 함선의 꼭짓점이다.

좌표를 나타내는 각 줄에는 세 정수 XX, YY, ZZ가 주어진다 (−103≤X≤103-10^3 \le X \le 10^3, −103≤Y≤103-10^3 \le Y \le 10^3, −103≤Z≤103-10^3 \le Z \le 10^3). 각 함선의 네 꼭짓점은 항상 부피가 0이 아닌 사면체를 이루고, 두 함선은 항상 서로 만나지 않는다.

출력

각 테스트 케이스마다 두 함선 사이의 거리를 소수점 아래 셋째 자리에서 반올림해 한 줄에 출력한다. 소수점 아래 두 자리를 항상 모두 적는다. 예를 들어 거리가 4이면 4.00으로 출력한다. 두 함선 사이의 거리는 항상 0보다 크고, 반올림 결과가 갈리는 경계에 정확히 놓이는 경우는 없다.

예제2

  1. 예제 1

    입력
    3
    2 -1 -1
    0 -1 -3
    1 1 -4
    1 1 -2
    0 5 -1
    2 5 1
    1 3 2
    1 3 0
    1 0 -6
    -5 0 -4
    -2 6 -5
    -2 2 -2
    1 0 3
    -5 0 5
    -2 2 7
    -2 -4 7
    4 -4 -2
    -2 -4 -4
    1 4 -3
    1 0 -4
    -2 4 -1
    4 4 1
    1 -4 0
    1 0 -1
    
    예상 출력
    2.83
    6.03
    1.90
    
  2. 예제 2

    입력
    3
    0 0 0
    1 0 0
    0 1 0
    0 0 1
    0 0 5
    1 0 5
    0 1 5
    0 0 6
    -5 0 0
    5 0 0
    0 1 -1
    0 -1 -1
    0 -5 3
    0 5 3
    1 0 4
    -1 0 4
    0 0 0
    -1 0 0
    0 -1 0
    0 0 -1
    1 0 0
    0 1 0
    0 0 1
    1 1 1
    
    예상 출력
    4.00
    3.00
    0.58