#4579. Circumferences

0

Circumferences

Circumferences

题目描述

你有 NN 个圆在 xyxy-坐标平面上。 对于每个 i=1,2,…,Ni = 1, 2, \ldots, N,第 ii 个圆的圆心在 (xi,yi)(x_i, y_i),半径为 rir_i。 判断是否可以仅通过位于至少一个这 NN 个圆的圆周上的点,从 (sx,sy)(s_x, s_y) 到达 (tx,ty)(t_x, t_y)。

输入格式

输入以标准输入给出,格式如下: NN sxs_x sys_y txt_x tyt_y x1x_1 y1y_1 r1r_1 x2x_2 y2y_2 r2r_2 ⋮\vdots xNx_N yNy_N rNr_N

输出格式

如果可以从 (sx,sy)(s_x, s_y) 到达 (tx,ty)(t_x, t_y),则输出 YesYes;否则输出 NoNo。 注意评测是区分大小写的。

4
0 -2 3 3
0 0 2
2 0 2
2 3 1
-3 3 3
Yes
3
0 1 0 3
0 0 1
0 0 2
0 0 3
No

提示

1≤N≤30001 \leq N \leq 3000 −109≤xi,yi≤109-10^9 \leq x_i, y_i \leq 10^9 1≤ri≤1091 \leq r_i \leq 10^9 (sx,sy)(s_x, s_y) 位于至少一个这 NN 个圆的圆周上。 (tx,ty)(t_x, t_y) 位于至少一个这 NN 个圆的圆周上。 输入中的所有数值均为整数。 下面是从 (0,−2)(0, -2) 到 (3,3)(3, 3) 的一种路径。

从 (0,−2)(0, -2),沿第 11 个圆的圆周逆时针到达 (1,−3)(1, -\sqrt{3})。 从 (1,−3)(1, -\sqrt{3}),沿第 22 个圆的圆周顺时针到达 (2,2)(2, 2)。 从 (2,2)(2, 2),沿第 33 个圆的圆周逆时针到达 (3,3)(3, 3)。

因此,应当输出 YesYes。
仅通过位于至少一个圆的圆周上的点,无法从 (0,1)(0, 1) 到达 (0,3)(0, 3),因此应当输出 NoNo。

标签: AtCoder|abc259D

来源

AtCoder|abc259D