계수가 유리수인 삼차방정식의 모든 실근을 구해 소수점 네 자리로 반올림해 출력한다. 근 하나는 정수라는 조건을 이용한다.
삼차 방정식 Ax3+Bx2+Cx+D=0Ax^3 + Bx^2 + Cx + D = 0Ax3+Bx2+Cx+D=0의 실수 해를 모두 구하는 프로그램을 작성하시오.
입력으로 주어지는 방정식은 정수 해를 적어도 하나 갖는다.
AAA, BBB, CCC, DDD의 절댓값은 2×1062 \times 10^62×106 이하이고, AAA는 0이 아니다. 모든 실수 해의 절댓값은 10610^6106 이하이다. AAA, BBB, CCC, DDD는 소수점 아래 11자리까지 주어질 수 있다. 한 방정식에서 서로 다른 두 해의 차이는 10−910^{-9}10−9보다 크다.
첫째 줄에 테스트 케이스의 개수 NNN (0<N<1000 < N < 1000<N<100)이 주어진다. 다음 NNN개 줄에 방정식의 계수 AAA, BBB, CCC, DDD가 공백으로 구분되어 한 줄에 하나씩 주어진다.
방정식마다 실수 해를 모두 오름차순으로 한 줄에 출력한다. 해와 해 사이는 공백 하나로 구분하고, 각 해는 소수점 아래 넷째 자리까지 반올림해서 출력한다. 중근은 한 번만 출력한다. 반올림한 값이 0이면 -0.0000이 아니라 0.0000으로 출력한다.
-0.0000
0.0000