B - Beautiful Rotation Editorial /

Time Limit: 2 sec / Memory Limit: 2048 MB

配点 : 100

ハムスター「3 次元のランダム回転を説明するために問題文が長くなってしまいました.2 次元なら説明が簡単なのに…….直感的なランダム回転なのでどうか恐れずにお解きください」

問題文

整数 A,B,C,D,E,F,G,H,I が与えられる.3 次元直交座標空間中の平行六面体 (の内部・境界の点集合) P は以下の 8 点を頂点とする:

  • (0, 0, 0)
  • (A, B, C)
  • (D, E, F)
  • (A+D, B+E, C+F)
  • (G, H, I)
  • (A+G, B+H, C+I)
  • (D+G, E+H, F+I)
  • (A+D+G, B+E+H, C+F+I)

P を一様ランダムに回転させたときの高さの期待値を求めよ.

一様ランダムに回転させるとは,以下の手順による:

  1. 単位球面上の点 u を通常の面積に従って一様に選ぶ.
  2. v = (1,0,0) \times u とおく (クロス積).v = (0,0,0) となる確率は 0 なので,以下そのような場合を無視する.
  3. 原点と v を結ぶ直線を回転軸として,点 (1,0,0)u へ移動させる回転を行う.
  4. 原点と u を結ぶ直線を回転軸として,[0, 2\pi) から一様に選んだ角度ぶん回転させる.

点集合 Q高さとは,Z = \{z \mid \exists x, \exists y,\, (x,y,z) \in Q\} とおいたときの \max(Z) - \min(Z) と定義する.

制約

  • -10^3 \le A,B,C,D,E,F,G,H,I \le 10^3
  • \det \begin{bmatrix} A&B&C \\ D&E&F \\ G&H&I \end{bmatrix} \ne 0

入力

入力は以下の形式で標準入力から与えられる.

A B C
D E F
G H I

出力

高さの期待値を小数として出力せよ.正しい値に対する絶対誤差または相対誤差が 10^{−9} 以下であれば許容される.


入力例 1

1 0 0
0 1 0
0 0 1

出力例 1

1.500000000000000000

各辺の長さが 1 の立方体を一様ランダムに回転させると,高さの期待値は 1.5 となる.