#ATagc021b. [AGC021B] Holes

[AGC021B] Holes

题目描述

平面上有 NN 个洞。第 ii 个洞的坐标为 (xi,yi)(x_i, y_i)

R=10101010R=10^{10^{10^{10}}}。りんごさん会进行如下操作:

  • 从以原点为中心、半径为 RR 的圆内随机选取一个点,并将すぬけ君放在该点。すぬけ君会移动到距离他当前位置欧几里得距离最近的洞并掉进去。如果有多个洞距离相同,则选择编号最小的那个洞。

请你求出对于所有 1iN1 \leq i \leq N,すぬけ君掉进第 ii 个洞的概率。

这里,从半径为 RR 的圆内随机选取一个点的操作定义如下:

  • 独立地从 [R,R][-R, R] 区间上均匀随机选取实数 x,yx, y
  • 如果 x2+y2R2x^2 + y^2 \leq R^2,则选择坐标 (x,y)(x, y)。否则,重复上述过程直到条件满足为止。

输入格式

输入通过标准输入给出,格式如下:

NN x1x_1 y1y_1 :: xNx_N yNy_N

输出格式

输出 NN 个实数。第 ii 个实数表示すぬけ君掉进第 ii 个洞的概率。

当所有输出值的绝对误差或相对误差不超过 10510^{-5} 时,判定为正确答案。

样例 1

输入

2
0 0
1 1

输出

0.5
0.5

样例 2

输入

5
0 0
2 8
4 5
2 6
3 10

输出

0.43160120892732328768
0.03480224363653196956
0.13880483535586193855
0.00000000000000000000
0.39479171208028279727

说明/提示

限制条件

  • 2N1002 \leq N \leq 100
  • xi,yi106 (1iN)|x_i|, |y_i| \leq 10^6\ (1 \leq i \leq N)
  • 给定的点两两不同
  • 输入均为整数

样例说明 1

如果りんごさん将すぬけ君放在满足 x+y1x+y\leq 1 的区域,すぬけ君会掉进第 11 个洞。此概率非常接近 0.50.5。否则,すぬけ君会掉进第 22 个洞,这种概率也非常接近 0.50.5

由 ChatGPT 4.1 翻译