AT_agc021_b [AGC021B] Holes
Description
[problemUrl]: https://atcoder.jp/contests/agc021/tasks/agc021_b
平面上に $ N $ 個の穴があります。$ i $ 個目の穴の座標は、$ (x_i,y_i) $ です。
$ R=10^{10^{10^{10}}} $ とします。りんごさんは、以下の操作を行います。
- 原点を中心とする半径 $ R $ の円内から無作為に $ 1 $ 点を選び、すぬけ君を置く。すぬけ君は、置かれた点からユークリッド距離が最も近い穴に移動し、落ちる。そのような穴が複数ある場合は、添え字の最も小さいものを選ぶ。
全ての $ 1\leq\ i\leq\ N $ に対し、すぬけ君が $ i $ 番目の穴に落ちる確率を求めてください。
ただし、半径 $ R $ の円内から無作為に $ 1 $ 点を選ぶ操作とは、以下の操作を指します。
- $ [-R,R] $ 上の独立な一様分布にしたがって実数 $ x,y $ を選ぶ。
- もし$ x^2+y^2\leq\ R^2 $ なら、座標 $ (x,y) $ を選ぶ。そうでないなら、その条件が満たされるまで実数 $ x,y $ を選びなおし続ける。
Input Format
入力は以下の形式で標準入力から与えられる。
> $ N $ $ x_1 $ $ y_1 $ $ : $ $ x_N $ $ y_N $
Output Format
実数を $ N $ 個出力せよ。$ i $ 個目の実数は、すぬけ君が $ i $ 番目の穴に落ちる確率を表さなければならない。
出力されたすべての値について絶対誤差あるいは相対誤差が $ 10^{-5} $ 以下のとき、正答と判定される。
Explanation/Hint
### 制約
- $ 2\ \leq\ N\ \leq\ 100 $
- $ |x_i|,|y_i|\ \leq\ 10^6(1\leq\ i\leq\ N) $
- 与えられる点は全て相異なる
- 入力はすべて整数である
### Sample Explanation 1
りんごさんが $ x+y\leq\ 1 $ なる領域にすぬけ君を置いた場合、すぬけ君は $ 1 $ 番目の穴に落ちます。このような確率は $ 0.5 $ に非常に近いです。 また、そうでない場合すぬけ君は $ 2 $ 番目の穴に落ち、そのような確率も $ 0.5 $ に非常に近いです。