#P1329. Circle Through Three Points
Circle Through Three Points
题目描述
你的团队需要编写一个程序,给定平面上三个点的笛卡尔坐标,求出经过这三个点的圆的方程。这三个点不会在同一条直线上。
解决方案需按照以下两种形式打印圆的方程:
- 形如 的方程 (公式1)
- 形如 的方程 (公式2)
输入
输入到你程序的每一行将包含三个点的坐标和坐标,顺序为 。这些坐标是实数,彼此之间由一个或多个空格分隔。
输出
你的程序必须按照下面示例中给出的格式在两行上打印所需的方程。在上述公式1和公式2中,你计算出的 、、、、 和 的值需打印出小数点后三位。方程中的加号和减号应根据需要进行调整,以避免在一个数字前出现多个符号。加号、减号和等号必须与相邻字符之间各有一个空格。方程中不能出现其他空格。在每对方程后打印一个空行。
输入示例
7.0 -5.0 -1.0 1.0 0.0 -6.0
1.0 7.0 8.0 6.0 7.0 -2.0
输出示例
(x - 3.000)^2 + (y + 2.000)^2 = 5.000^2
x^2 + y^2 - 6.000x + 4.000y - 12.000 = 0
(x - 3.921)^2 + (y - 2.447)^2 = 5.409^2
x^2 + y^2 - 7.842x - 4.895y - 7.895 = 0
来源
1989年南加州竞赛,UVA 190题