No.132 点と平面との距離

レベル : / 実行時間制限 : 1ケース 5.000秒 / メモリ制限 : 512 MB / 小数誤差許容問題 絶対誤差または相対誤差が$10^{-9}$ 以下
タグ : / 解いたユーザー数 66
作問者 : LayCurseLayCurse
0 ProblemId : 147 / 出題時の順位表

問題文

\(3\) 次元上のある点 \(P\) と、\(N\) 個の点 \(Q_1,Q_2,\ldots,Q_N\) が与えられます。
\({\rm dist}(i,j,k)\) で、点 $P$ と、点 $Q_i,Q_j,Q_k$ が通る平面との距離とします。
点 $P$ と、$Q_i,Q_j,Q_k$ が通る平面との距離の和を求めるプログラムを書いて下さい。

つまり \(\displaystyle \sum_{1 \leq i < j < k \leq N} {\rm dist}(i,j,k)\) の値を求めるプログラムを書いて下さい。

点 $x$ と平面 $y$ の距離は、点 $x$ と、点 $x$ から平面 $y$ に下ろした垂線の足との距離です。

入力

\(N\)
\(P_x\ P_y\ P_z\)
\(X_1\ Y_1\ Z_1\)
\(X_2\ Y_2\ Z_2\)
\(\vdots\)
\(X_N\ Y_N\ Z_N\)

\(N \in \{100,200,300\}\)
\(-1000 \leq P_x, P_y, P_z \leq 1000\):点 $P$ の座標
\(-1000 \leq X_k, Y_k, Z_k \leq 1000\):点 $Q_k$ の座標
各座標は小数点以下ちょうど \(6\) 桁で与えられる。
各座標はランダムに生成され、任意の \(3\) 点は同一直線上にない,任意の \(4\) 点は同一平面上にないと仮定できます。
注:サンプルは制約を満たさないことが有りますが、ジャッジデータは制約を満たします。
ジャッジデータは全部で \(3\) 個のテストケースが存在し、それぞれの \(N\) の値は \(100,200,300\) です。

出力

答えを出力して下さい。
絶対誤差、または、相対誤差が \(10^{-9}\) 以下であれば正答とみなされる。
最後に改行してください。

サンプル

サンプル1
入力
3
0 0 4
1 2 0
3 7 0
9 1 0
出力
4

$Q_1,Q_2,Q_3$ が含まれる平面は $xy$ 平面であり、点 $(0,0,4)$ と $xy$ 平面との距離は $4$ になります。

サンプル2
入力
10
-901.024872 472.789306 269.177382
239.060492 -23.854948 622.357515
-514.916227 738.906828 51.113001
682.200955 558.639699 -442.006273
-984.691228 416.424662 558.734465
-236.365727 714.654054 -545.868635
461.190971 -796.064539 -525.621408
20.844384 370.876071 775.750981
203.292480 -121.700220 -508.251995
-792.927906 448.669892 976.681305
-85.515212 941.493450 -517.440208
出力
47386.06556925852
提出ページヘ
下のフォームでの入力は、テキストボックスにフォーカスがない場合は、(Onにしている場合)ショートカットキー・スマートサブミットの影響を受けるので、必要なら提出ページに遷移してください。

言語
問題によって提出できない言語があります。参考
ソースコード
ソースコードのテキストボックスに文字がある場合はファイルは無視されます。
テキストボックスで提出するとCR(\r)が除去されますが、ファイルで提出すると除去されません。