問題にチャレンジして、ユーザー同士で解答を教え合ったり、コードを公開してみよう!
「部外者をはじけ」では、正しい直線とぴったり重なる位置にいる人物が最低二人以上存在することが保障されています。
言い換えれば、異なる二人を結んだ直線のうち、最も部外者が少なくなる直線が正しい直線であるということです。
まずは異なる二人を結んだ直線を 1 つ求めてみましょう。
N
x_1 y_1
x_2, y_2
・1 行目には、検出した人の数 N が入力されます。
・i+1 (1 ≦ i ≦ N) 行目には、i 番目の人物の二次元座標 (x_i, y_i) が空白区切りで与えられます。
・なお、座標の単位は [m] で、座標はそれぞれ小数点以下 2 桁までの小数で与えられます。
・入力は合計 N + 1 行からなり、末尾に改行を 1 つ含みます。
与えられる 2 点を通る直線の方程式が ax + by + c = 0 であるとき、a, b, c の値をこの順に空白区切りで一行に出力してください。
ただし、真値との誤差が 0.001 未満である場合にのみ正答とみなされます。
出力の末尾に改行を入れ、余計な文字、空行を含んではいけません。
すべてのテストケースで以下の条件を満たします。
・ N = 2
・ 0 ≦ x_i < 640
・ 0 ≦ y_i < 480
・ (x_i,y_i) ≠ (x_j,y_j) (i ≠ j)
2
331.26 330.83
264.31 3.44
-327.3900000000 66.9500000000 86302.1429000000
2
210.43 423.86
104.71 212.42
-211.4400000000 105.7200000000 -317.1600000000