드론 제어
시간 제한2초메모리 제한1024 MB
피치, 롤, 요 목표값이 주어질 때 이를 만족하면서 플랩 각도의 최대 절댓값을 가장 작게 하는 네 각도 n, e, s, w를 구합니다.
문제
당신은 Single Copter라는 흥미로운 비행체의 컨트롤러를 설계하고 있다. 이 비행체에는 프로펠러가 하나뿐이지만, 배출되는 공기 흐름은 네 개의 플랩으로 한 번 더 조절된다. 플랩은 피치, 롤, 요 세 개의 오일러 각을 제어하며, 기체가 요청받은 자세를 유지하도록 돕는다. 각 플랩은 비행 컨트롤러가 요청하는 임의의 각도를 가질 수 있고, 플랩이 특정 각도에 있으면 피치, 롤, 요 방향으로 요청된 힘이 작용한다.
그림 D.1: Single Copter의 피치, 롤, 요
플랩의 각도를 , , , 로 두자. 각각 north, east, south, west를 뜻한다. 피치, 롤, 요 방향의 힘은 다음 식으로 정의된다.
변수는 네 개이고 제약은 세 개이다. 공기역학의 관점에서 플랩 각의 최댓값을 작게 만드는 것이 타당하므로, 도 최소화해야 한다.
요청된 피치, 롤, 요를 얻도록 Single Copter에 보낼 최적의 매개변수를 구하라.
입력
첫 줄에 요청의 개수 ()가 주어진다. 이어지는 개의 줄에는 각각 실수 , , ()가 주어진다.
출력
개의 줄을 출력한다. 번째 줄에는 번째 요청에 대한 해 , , , 를 공백으로 구분하여 출력한다.
결과로 나오는 피치, 롤, 요가 요청값과 이하의 차이로 맞고, 플랩 출력값의 절댓값 최댓값이 참값보다 이상 크지 않으면 정답으로 인정한다.


