쌍둥이 규현이와 승환이의 생일 케이크

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

요약
삼각형의 세 꼭짓점이 주어질 때 넓이와 둘레를 동시에 이등분하는 직선을 정규화된 Ax+By=C 형태로 구하는 문제입니다.
난이도

어려움10점 중 8점

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

문제

동규는 쌍둥이 아들 승환이와 규현이를 위해 매년 삼각형 모양의 생일 케이크를 사 온다. 케이크의 모양은 해마다 다르다. 케이크의 옆면은 초콜릿 아이싱으로 덮여 있고, 윗면은 핑크 아이싱으로 덮여 있다. 두 아이는 두 종류의 아이싱을 모두 좋아하므로, 서로 같은 양을 먹고 싶어 한다.

규현이와 승환이가 같은 양을 먹을 수 있도록 케이크를 자르는 방법을 구하는 프로그램을 작성하시오.

삼각형 이퀼라이저란 삼각형을 둘레와 넓이가 모두 같은 두 부분으로 나누는 선분이다. 이 선분은 삼각형의 내부를 지나며 경계 위의 두 점을 잇는다.

일반적으로 삼각형은 이퀼라이저를 하나, 둘 또는 셋 가진다. 정확히 두 개인 경우는 특별한 조건에서만 나타난다.

삼각형이 주어졌을 때, 그 삼각형의 이퀼라이저를 하나 구하시오. 계산에는 double 정밀도의 실수 연산이면 충분하다.

입력

첫째 줄에 테스트 케이스의 개수 P (1 <= P <= 1000)가 주어진다. 각 테스트 케이스는 한 줄로 주어지며, 여섯 개의 실수로 이루어져 있다. 이 실수들은 삼각형의 꼭짓점 좌표로, x0 y0 x1 y1 x2 y2 순서이다.

입력으로 주어지는 모든 실수의 절댓값은 20보다 작고, 항상 소수점 아래 다섯 자리까지 주어진다.

출력

각 테스트 케이스마다, 주어진 삼각형의 이퀼라이저가 되는 직선의 방정식을 출력한다. 방정식은 Ax + By = C 꼴로 나타내고, A, B, C를 공백으로 구분하여 소수점 아래 다섯 자리까지 출력한다.

계수는 A*A + B*B = 1.0과 A >= 0을 만족해야 한다.

예제1

  1. 예제 1

    입력
    4
    0 0 4 10 8 0
    0 0 10 8 8 0
    0 0 -8 4.5 5 0
    0 0 -5 4.6 5 0
    
    예상 출력
    1.00000 0.00000 4.00000
    0.99347 -0.11408 5.98771
    0.45018 0.89294 0.81417
    0.66369 0.74801 1.01564