만드는 중입니다

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

기하 문제

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

요약
두 삼각형의 정수 꼭짓점과 일정한 속도가 주어질 때 처음 충돌하는 시각을 구하고, 충돌하지 않으면 NO COLLISION을 출력합니다.
난이도

보통10점 중 7점

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

문제

프로그래밍 대회의 기하 문제에 지친 당신은 대회를 떠나 게임 개발을 하기로 했다. 그런데 그곳에도 기하 문제가 기다리고 있었다. 당신은 두 명이 즐기는 2차원 아케이드 게임을 구상했다. 첫 번째 플레이어가 삼각형 금속 조각을 원하는 방향으로 던진다. 두 번째 플레이어는 그 조각을 맞히려고 다른 삼각형 금속 조각을 던진다. 두 조각이 충돌할지 알고 싶다.

두 번째 플레이어가 조각을 던지는 순간을 시각 0으로 하고, 두 조각의 위치와 속도를 저장한다. 게임에서는 시각 0에 두 조각이 이미 충돌해 있는 상태를 허용하지 않는다. 두 조각이 충돌하는 시각을 구하라.

입력

첫 줄에 테스트 케이스의 개수 TT가 주어진다. 각 테스트 케이스는 두 줄로 이루어진다. 첫 줄은 첫 번째 플레이어의 조각, 둘째 줄은 두 번째 플레이어의 조각을 설명한다. 각 설명은 공백으로 구분된 정수 8개 x1,y1,x2,y2,x3,y3,vx,vyx_1, y_1, x_2, y_2, x_3, y_3, v_x, v_y로 이루어진다. (xi,yi)(x_i, y_i)는 조각의 ii번째 꼭짓점 위치이고, vxv_x와 vyv_y는 조각 속도의 x 성분과 y 성분이다.

출력

각 테스트 케이스마다 두 조각이 충돌하는 가장 이른 시각을 한 줄에 출력한다. 답은 상대 오차 또는 절대 오차가 10−910^{-9} 이하여야 한다. 두 조각이 끝까지 충돌하지 않으면 "NO COLLISION"(따옴표 제외)을 출력한다.

제한

1≤T≤1001 \le T \le 100

−107≤x1,y1,x2,y2,x3,y3,vx,vy≤107-10^7 \le x_1, y_1, x_2, y_2, x_3, y_3, v_x, v_y \le 10^7

예제1

  1. 예제 1

    입력
    2
    0 0 1 0 0 -1 1 0
    2 0 3 0 2 -1 0 0
    0 0 1 0 0 -1 5 0
    2 0 3 0 2 -1 5 0
    
    예상 출력
    1.000000000
    NO COLLISION