시간 제한메모리 제한제출정답맞힌 사람정답 비율
2 초 128 MB455358833713.027%

문제

삼차 방정식 Ax3 + Bx2 + Cx + D = 0 의 모든 실수 해를 찾는 프로그램을 작성하시오.

입력으로 주어지는 방정식은 정수 해를 적어도 한 개 갖는다.

A, B, C, D는 -2,000,000보다 크거나 같고, 2,000,000보다 작거나 같은 정수이고, A는 0이 아니다. 모든 해는 -1,000,000보다 크거나 같고, 1,000,000보다 작거나 같다. 주어지는 방정식의 해의 차이는 10-4보다 크다.

입력

첫째 줄에 테스트 케이스의 개수 N (0 < N < 100)이 주어진다. 다음 N개 줄에는 삼차 방정식의 계수 A, B, C, D가 한 줄에 하나씩 주어진다.

출력

입력으로 주어진 방정식마다 모든 실수 해를 오름차순으로 출력한다. 해의 절대/상대 오차는 10-4까지 허용한다. 중근이 존재하는 경우에는 한 번만 출력한다.

예제 입력 1

2
2 -7 7 -2
2 0 0 0

예제 출력 1

0.5000 1.0000 2.0000
0.0000
W3sicHJvYmxlbV9pZCI6Ijk3MzUiLCJwcm9ibGVtX2xhbmciOiIwIiwidGl0bGUiOiJcdWMwYmNcdWNjMjggXHViYzI5XHVjODE1XHVjMmRkIFx1ZDQ4MFx1YWUzMCIsImRlc2NyaXB0aW9uIjoiPHA+XHVjMGJjXHVjYzI4IFx1YmMyOVx1YzgxNVx1YzJkZCBBeDxzdXA+MzxcL3N1cD4gKyBCeDxzdXA+MjxcL3N1cD4gKyBDeCArIEQgPSAwJm5ic3A7XHVjNzU4IFx1YmFhOFx1YjRlMCBcdWMyZTRcdWMyMTggXHVkNTc0XHViOTdjIFx1Y2MzZVx1YjI5NCBcdWQ1MDRcdWI4NWNcdWFkZjhcdWI3YThcdWM3NDQgXHVjNzkxXHVjMTMxXHVkNTU4XHVjMmRjXHVjNjI0LjxcL3A+XHJcblxyXG48cD5cdWM3ODVcdWI4MjVcdWM3M2NcdWI4NWMgXHVjOGZjXHVjNWI0XHVjOWMwXHViMjk0IFx1YmMyOVx1YzgxNVx1YzJkZFx1Yzc0MCBcdWM4MTVcdWMyMTggXHVkNTc0XHViOTdjIFx1YzgwMVx1YzViNFx1YjNjNCBcdWQ1NWMgXHVhYzFjIFx1YWMxNlx1YjI5NFx1YjJlNC48XC9wPlxyXG5cclxuPHA+QSwgQiwgQywgRFx1YjI5NCAtMiwwMDAsMDAwXHViY2Y0XHViMmU0IFx1ZDA2Y1x1YWM3MFx1YjA5OCBcdWFjMTlcdWFjZTAsIDIsMDAwLDAwMFx1YmNmNFx1YjJlNCBcdWM3OTFcdWFjNzBcdWIwOTggXHVhYzE5XHVjNzQwIFx1YzgxNVx1YzIxOFx1Yzc3NFx1YWNlMCwgQVx1YjI5NCAwXHVjNzc0IFx1YzU0NFx1YjJjOFx1YjJlNC4gXHViYWE4XHViNGUwIFx1ZDU3NFx1YjI5NCAtMSwwMDAsMDAwXHViY2Y0XHViMmU0IFx1ZDA2Y1x1YWM3MFx1YjA5OCBcdWFjMTlcdWFjZTAsIDEsMDAwLDAwMFx1YmNmNFx1YjJlNCBcdWM3OTFcdWFjNzBcdWIwOTggXHVhYzE5XHViMmU0LiBcdWM4ZmNcdWM1YjRcdWM5YzBcdWIyOTQgXHViYzI5XHVjODE1XHVjMmRkXHVjNzU4IFx1ZDU3NFx1Yzc1OCBcdWNjMjhcdWM3NzRcdWIyOTQgMTA8c3VwPi00PFwvc3VwPlx1YmNmNFx1YjJlNCBcdWQwNmNcdWIyZTQuPFwvcD5cclxuIiwiaW5wdXQiOiI8cD5cdWNjYWJcdWM5ZjggXHVjOTA0XHVjNWQwIFx1ZDE0Y1x1YzJhNFx1ZDJiOCBcdWNmMDBcdWM3NzRcdWMyYTRcdWM3NTggXHVhYzFjXHVjMjE4IE4gKDAgJmx0OyBOICZsdDsgMTAwKVx1Yzc3NCBcdWM4ZmNcdWM1YjRcdWM5YzRcdWIyZTQuIFx1YjJlNFx1Yzc0YyBOXHVhYzFjIFx1YzkwNFx1YzVkMFx1YjI5NCBcdWMwYmNcdWNjMjggXHViYzI5XHVjODE1XHVjMmRkXHVjNzU4IFx1YWNjNFx1YzIxOCBBLCBCLCBDLCBEXHVhYzAwIFx1ZDU1YyBcdWM5MDRcdWM1ZDAgXHVkNTU4XHViMDk4XHVjNTI5IFx1YzhmY1x1YzViNFx1YzljNFx1YjJlNC48XC9wPlxyXG4iLCJvdXRwdXQiOiI8cD5cdWM3ODVcdWI4MjVcdWM3M2NcdWI4NWMgXHVjOGZjXHVjNWI0XHVjOWM0IFx1YmMyOVx1YzgxNVx1YzJkZFx1YjljOFx1YjJlNCBcdWJhYThcdWI0ZTAgXHVjMmU0XHVjMjE4IFx1ZDU3NFx1Yjk3YyBcdWM2MjRcdWI5ODRcdWNjMjhcdWMyMWNcdWM3M2NcdWI4NWMgXHVjZDljXHViODI1XHVkNTVjXHViMmU0LiBcdWQ1NzRcdWM3NTggXHVjODA4XHViMzAwXC9cdWMwYzFcdWIzMDAgXHVjNjI0XHVjYzI4XHViMjk0IDEwPHN1cD4tNDxcL3N1cD5cdWFlNGNcdWM5YzAgXHVkNWM4XHVjNmE5XHVkNTVjXHViMmU0LiBcdWM5MTFcdWFkZmNcdWM3NzQgXHVjODc0XHVjN2FjXHVkNTU4XHViMjk0IFx1YWNiZFx1YzZiMFx1YzVkMFx1YjI5NCBcdWQ1NWMgXHViYzg4XHViOWNjIFx1Y2Q5Y1x1YjgyNVx1ZDU1Y1x1YjJlNC48XC9wPlxyXG4iLCJoaW50IjoiIiwib3JpZ2luYWwiOiIwIiwiaHRtbF90aXRsZSI6IjAiLCJwcm9ibGVtX2xhbmdfdGNvZGUiOiJLb3JlYW4ifSx7InByb2JsZW1faWQiOiI5NzM1IiwicHJvYmxlbV9sYW5nIjoiMSIsInRpdGxlIjoiU29sdXRpb25zIG9mIEN1YmljIEVxdWF0aW9uIiwiZGVzY3JpcHRpb24iOiI8cD5IYW5uYWggYXNrZWQgeW91IHRvIGRldGVybWluZSBhbGwgZGlzdGluY3QgcmVhbCBzb2x1dGlvbnMgb2YgYSBjdWJpYyBlcXVhdGlvbiBpbiB0aGUgZm9sbG93aW5nIGZvcm06PFwvcD5cclxuXHJcbjxwPlxcW0F4XjMgKyBCeF4yICsgQ3ggKyBEID0gMFxcXTxcL3A+XHJcblxyXG48cD5UaGUgdGFzayBpcyBxdWl0ZSBjb21wbGljYXRlZCBlc3BlY2lhbGx5IGlmIG9uZSBzb2x1dGlvbiBpcyBpcnJhdGlvbmFsLiBCZWZvcmUgeW91IGNvbXBsYWluZWQsIEhhbm5haCB0b2xkIHlvdSB0aGF0IHNoZSYjMzk7bGwgb25seSBnaXZlIGN1YmljIGVxdWF0aW9ucyB3aXRoIGF0IGxlYXN0IG9uZSBpbnRlZ2VyIHNvbHV0aW9uLiZuYnNwOzxcL3A+XHJcblxyXG48cD5Zb3VyIHRhc2sgdGhlbiBpcyB0byBmaW5kIGFsbCBkaXN0aW5jdCByZWFsIHNvbHV0aW9ucyBvZiB0aGUgY3ViaWMgZXF1YXRpb24gZ2l2ZW4gdGhlIGNvZWZmaWNpZW50cyBBLCBCLCBDLCBhbmQgRCB3aGVyZSBBIGlzIG5vdCAwLjxcL3A+XHJcblxyXG48cD5UaGUgcmFuZ2Ugb2YgdmFsdWVzIG9mIEEsIEIsIEMsIGFuZCBEIGlzIC0yLDAwMCwwMDAgdG8gMiwwMDAsMDAwLiBUaGUgcmFuZ2Ugb2YgdmFsdWVzIG9mIHggaXMgLTEsMDAwLDAwMCB0byAxLDAwMCwwMDAuPFwvcD5cclxuIiwiaW5wdXQiOiI8cD5UaGUgaW5wdXQgc3RhcnRzIHdpdGggYW4gaW50ZWdlciBOICh3aGVyZSAwICZsdDsgTiAmbHQ7IDEwMCkuIEl0IGlzIHRoZW4gZm9sbG93ZWQgYnkgTiBpbnB1dCBsaW5lcy4gRWFjaCBpbnB1dCBsaW5lIGNvbnNpc3RzIG9mIGZvdXIgbnVtYmVycyBBLCBCLCBDLCBhbmQgRCwgbmVjZXNzYXJpbHkgaW50ZWdlcnMuIEEgaXMgbmV2ZXIgMC48XC9wPlxyXG4iLCJvdXRwdXQiOiI8cD5Gb3IgZWFjaCBpbnB1dCBsaW5lLCBwcmludCBhbGwgZGlzdGluY3QgcmVhbCBzb2x1dGlvbnMgb2YgdGhlIGN1YmljIGVxdWF0aW9uIGluIG9uZSBsaW5lLCBzb3J0ZWQgaW4gaW5jcmVhc2luZyBvcmRlci4gRWFjaCByZWFsIHNvbHV0aW9uIG11c3QgYmUgcm91bmRlZCBvZmYgdG8gdGhlIG5lYXJlc3QgdGVuIHRob3VzYW5kdGggYW5kIG11c3QgYmUgcHJpbnRlZCB3aXRoIGV4YWN0bHkgZm91ciBkaWdpdHMgYWZ0ZXIgdGhlIGRlY2ltYWwgcG9pbnQuIFR3byBvciBtb3JlIGRpc3RpbmN0IHJlYWwgc29sdXRpb25zIG11c3QgYmUgc2VwYXJhdGVkIGJ5IGV4YWN0bHkgb25lIHNwYWNlLjxcL3A+XHJcbiIsImhpbnQiOiIiLCJvcmlnaW5hbCI6IjEiLCJodG1sX3RpdGxlIjoiMCIsInByb2JsZW1fbGFuZ190Y29kZSI6IkVuZ2xpc2gifV0=

출처

ICPC > Regionals > Asia Pacific > Philippines > Philippines Multi-Provincial Programming Contest > Philippines Multi-Provincial Programming Contest 2013 C번