問題一覧 > 通常問題

No.132 点と平面との距離

レベル : / 実行時間制限 : 1ケース 5.000秒 / メモリ制限 : 512 MB / 小数誤差許容問題 絶対誤差または相対誤差が$10^{-9}$ 以下。ただし、ジャッジ側の都合で500桁未満にしてください
タグ : / 解いたユーザー数 106
作問者 : LayCurseLayCurse
1 ProblemId : 147 / 出題時の順位表 / 自分の提出
問題文最終更新日: 2015-11-14 17:46:54

問題文

\(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

提出するには、Twitter 、GitHub、 Googleもしくは右上の雲マークをクリックしてアカウントを作成してください。