만드는 중입니다

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

오래된 풀이 방법

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

요약
고정된 점 A, B, C를 지나는 세 직선을 같은 각도로 회전시켜, 교점들이 만드는 삼각형의 최대 넓이를 구합니다.
난이도

어려움10점 중 8점

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

문제

평면 위에 서로 다른 점 66개 AA, BB, CC, DD, EE, FF가 있다. 세 점 AA, BB, CC는 한 직선 위에 있지 않다.

Svetozar는 점 AA와 DD를 지나는 직선 aa, 점 BB와 EE를 지나는 직선 bb, 점 CC와 FF를 지나는 직선 cc를 그었다. 이 세 직선은 어느 것도 서로 평행하지 않다. 이제 그는 직선 aa를 AA를 중심으로, 직선 bb를 BB를 중심으로, 직선 cc를 CC를 중심으로 같은 각만큼 반시계 방향으로 회전한다. 그다음 회전한 직선들의 교점을 구하고, 얻은 세 점을 꼭짓점으로 하는 삼각형을 그린다(세 점이 한 직선 위에 있지 않은 경우).

Svetozar는 넓이가 가장 큰 삼각형을 얻고 싶어 한다. 삼각형을 만들 수 없으면 넓이는 00으로 본다. 이 넓이를 구하라.

입력

첫 줄에 테스트 케이스의 개수를 나타내는 정수 TT (1≤T≤1051 \leq T \leq 10^5)가 주어진다.

각 테스트 케이스는 점 AA, BB, CC, DD, EE, FF를 순서대로 나타내는 6줄로 이루어진다. 각 줄에는 점의 좌표 xx, yy (−20≤x,y≤20-20 \leq x, y \leq 20)가 정수로 주어진다.

모든 테스트 케이스에서 여섯 점은 서로 다르고, 점 AA, BB, CC는 한 직선 위에 있지 않으며, 직선 ADAD, BEBE, CFCF는 서로 평행하지 않다고 보장된다.

출력

각 테스트 케이스에 대해 가능한 삼각형 넓이의 최댓값을 실수 하나로 출력한다. 절대 오차 또는 상대 오차가 10−610^{-6}을 넘지 않으면 된다. 어떤 테스트에서도 이 넓이는 10710^7을 넘지 않는다고 보장된다.

힌트

예시에서는 직선을 약 104.036∘104.036^\circ만큼 회전했을 때 넓이가 최대가 된다. 넓이가 최대인 삼각형의 변은 17\sqrt{17}, 17\sqrt{17}, 34\sqrt{34}이고, 꼭짓점은 (a,b)(a, b), (a−1,b+4)(a - 1, b + 4), (a+4,b+1)(a + 4, b + 1)이다. 여기서 a≈3.8235a \approx 3.8235, b≈1.7059b \approx 1.7059이다.

아래 그림에서 원래 직선은 점선, 회전한 직선은 실선으로 표시되어 있다.

예제1

  1. 예제 1

    입력
    1
    1 1
    4 1
    4 5
    1 2
    5 1
    5 6
    
    예상 출력
    8.500000000