Problem1511--서현이의 놀이공원 나들이

1511: 서현이의 놀이공원 나들이

Time Limit: 1 Sec  Memory Limit: 128 MB
Submit: 4  Solved: 3
[Submit] [Status] [Web Board] [Creator:]

Description

서현이는 오랜만에 친구들과 놀이공원에 놀러 갔다.
그곳에서 최근 새로 개장한 롤러코스터 '제로포인트'를 발견했고, 호기심에 탑승하게 되었다.
‘제로포인트’는 중력과 관성을 정교하게 계산해 설계된 롤러코스터로,
출발한 후 여러 번 오르내리며 탑승자에게 마치 공중에 붕 뜨는 듯한 순간을 선사한다.

탑승 후 롤러코스터 운영 부스 근처를 지나던 서현이는, 우연히 직원들의 대화를 듣게 된다.

“멈추는 순간을 자동으로 포착하려고 외주 개발팀에 프로그램을 맡겼는데,
이게 자꾸 엉뚱한 타이밍에 셔터가 작동해버리네요...”

그 말을 들은 서현이는 자신이 프로그래밍을 배운 경험이 있다는 걸 떠올리고, 조심스레 말을 건넸다.

“혹시… 제가 한번 도와봐도 될까요?”

직원은 반신반의하며 엔지니어가 남긴 4개의 특성값만을 건넸다.
이 값들은 롤러코스터가 특정 지점에서 속도가 변화하는 순간을 정확히 계산할 수 있는 힌트를 제공한다.
서현이는 이 정보를 바탕으로, 롤러코스터가 멈추는 순간을 자동으로 포착할 수 있도록 도와줄 프로그램을 만들기로 결심한다. 
이 때, 두 번의 속도 변화가 일어나는 지점을 찾아낼 수 있어야 한다.
입력된 값들은 롤러코스터의 속도 변화 패턴에 대한 정보를 제공하며, 두 개의 멈추는 순간을 찾는 데 필요한 중요한 정보를 담고 있다. 
서현이는 이를 바탕으로 정확한 타이밍에 셔터가 작동하도록 할 수 있도록 해야 한다.

Input

첫번째 줄에는 테스트 케이스(0<testcase<=10)가 들어온다.
두번째 줄에는 엔지니어가 남긴 4개의 정수 a, b, c, d(이 값들은 -100 이상 100 이하)가 들어온다. 
입력된 4개의 숫자는 롤러코스터의 속도 변화 패턴을 나타내는 함수의 계수로, 이를 바탕으로 속도가 0이 되는 두 지점을 찾아야 한다. 
주어진 함수는 3차 함수 형태를 따르며, 이 함수가 0이 되는 두 실근을 구해야 한다.
a가 0이 되는 경우는 없다.

Output

롤러코스터의 속도가 0이 되는 지점을 구해서 값이 작은 순서대로 반올림해서 소수점 3자리까지 출력하자.
두 점 A(x₁, y₁)와 B(x₂, y₂)가 있을 때, x₁과 x₂를 비교하여 작은 x값을 가진 점을 먼저 출력하자.
x₁과 x₂가 같은 경우는 존재하지 않는다.
속도가 0이 되는 지점은 항상 2개만 존재한다.
그리고 출력 테스트케이스마다 줄바꿈 해야한다.

Sample Input Copy

1
1 -3 2 1

Sample Output Copy

(0.423, 1.385), (1.577, 0.615)

HINT


Source/Category