atcoder#AGC021B. [AGC021B] Holes

[AGC021B] Holes

配点 : 600600

問題文

平面上に NN 個の穴があります。ii 個目の穴の座標は、(xi,yi)(x_i,y_i) です。

R=10101010R=10^{10^{10^{10}}} とします。りんごさんは、以下の操作を行います。

  • 原点を中心とする半径 RR の円内から無作為に 11 点を選び、すぬけ君を置く。すぬけ君は、置かれた点からユークリッド距離が最も近い穴に移動し、落ちる。そのような穴が複数ある場合は、添え字の最も小さいものを選ぶ。

全ての 1iN1\leq i\leq N に対し、すぬけ君が ii 番目の穴に落ちる確率を求めてください。

ただし、半径 RR の円内から無作為に 11 点を選ぶ操作とは、以下の操作を指します。

  • [R,R][-R,R] 上の独立な一様分布にしたがって実数 x,yx,y を選ぶ。
  • もしx2+y2R2x^2+y^2\leq R^2 なら、座標 (x,y)(x,y) を選ぶ。そうでないなら、その条件が満たされるまで実数 x,yx,y を選びなおし続ける。

制約

  • 2N1002 \leq N \leq 100
  • xi,yi106(1iN)|x_i|,|y_i| \leq 10^6(1\leq i\leq N)
  • 与えられる点は全て相異なる
  • 入力はすべて整数である

入力

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

NN

x1x_1 y1y_1

::

xNx_N yNy_N

出力

実数を NN 個出力せよ。ii 個目の実数は、すぬけ君が ii 番目の穴に落ちる確率を表さなければならない。

出力されたすべての値について絶対誤差あるいは相対誤差が 10510^{-5} 以下のとき、正答と判定される。

2
0 0
1 1
0.5
0.5

りんごさんが x+y1x+y\leq 1 なる領域にすぬけ君を置いた場合、すぬけ君は 11 番目の穴に落ちます。このような確率は 0.50.5 に非常に近いです。 また、そうでない場合すぬけ君は 22 番目の穴に落ち、そのような確率も 0.50.5 に非常に近いです。

5
0 0
2 8
4 5
2 6
3 10
0.43160120892732328768
0.03480224363653196956
0.13880483535586193855
0.00000000000000000000
0.39479171208028279727