atcoder#AGC021B. [AGC021B] Holes

[AGC021B] Holes

题目描述

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

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

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

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

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

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

输入格式

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

N N x1 x_1 y1 y_1 : : xN x_N yN y_N

输出格式

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

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

题目大意

给定 nn 个坐标系上的点,坐标系半径 R=10101010R=10^{10^{10^{10}}}

Snuke 在坐标系上任选一点出发,走到离自己距离 (此距离指欧几里得距离) 最近的点停下。

问 Snuke 到每个点停下的概率是多少?

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

提示

制約

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

Sample Explanation 1

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