eolymp
bolt
Спробуйте наш новий інтерфейс для відправки розв'язків
Задачі

Розв`язки кубічного рівняння

Розв`язки кубічного рівняння

Ханна попросила Вас визначити усі різні дійсні корені кубічного рівняння наступного виду: \textbf{Ax^3 + Bx^2 + Cx + D = 0} Розв'язання задачі може бути ускладнено, якщо один з розв'язків рівняння ірраціональний. Але перед тим як Ви почнете жалітися, Ханна повідомила Вам, что вона буде давати лише кубічні рівняння, які мають хоча б один цілочисельний розв'язок. Вам потрібно знайти усі різні дійсні розв'язки кубічного рівняння з заданими коефіцієнтами \textbf{A}, \textbf{B}, \textbf{C} та \textbf{D}, де \textbf{A }не дорівнює\textbf{ 0}. Значення \textbf{A}, \textbf{B}, \textbf{C} та \textbf{D} змінюються від \textbf{-2000000} до \textbf{2000000}. Значення \textbf{x} змінюється від \textbf{-1000000} до \textbf{1000000}. \InputFile Перший рядок містить ціле число \textbf{N} (\textbf{0} < \textbf{N} < \textbf{100}). Далі йде \textbf{N} рядків. Кожен рядок містить чотири числа \textbf{A}, \textbf{B}, \textbf{C} та \textbf{D}, не обов'язковно цілих, \textbf{A} не дорівнює \textbf{0}. \OutputFile Для кожного вхідного рядка вивести усі різні дійсні розв'язки кубвчного рівняння у одному рядку, відсортувавши їх за зростанням. Кожен дійсний розв'язок слід округлити до найближчих тисячних і вивести з чотирма знаками після десяткової крапки. Два чи більше різних дійсних розв'язки слід відокремлювати одним пропуском.
Ліміт часу 2 секунди
Ліміт використання пам'яті 128 MiB
Вхідні дані #1
3
1.5 -5 2 -1.5
2 -7 7 -2
2 0 0 0
Вихідні дані #1
3.0000
0.5000 1.0000 2.0000
0.0000
Джерело ACM ICM Philippines Multi-Provincial Programming Contest 2013