#abc259d. [abc259_d]Circumferences

[abc259_d]Circumferences

题目描述

给定 xyxy-平面上的 NN 个圆。对于每个 i=1,2,ldots,Ni = 1, 2, \\ldots, N,第 ii 个圆的圆心为 (xi,yi)(x_i, y_i),半径为 rir_i

判断是否可以从 (sx,sy)(s_x, s_y) 到达 (tx,ty)(t_x, t_y),只通过至少一个圆的周围点。

约束条件

  • 1leqNleq30001 \\leq N \\leq 3000
  • \-109leqxi,yileq109\-10^9 \\leq x_i, y_i \\leq 10^9
  • 1leqrileq1091 \\leq r_i \\leq 10^9
  • (sx,sy)(s_x, s_y) 至少在 NN 个圆的周围。
  • (tx,ty)(t_x, t_y) 至少在 NN 个圆的周围。
  • 输入中的所有值都是整数。

输入

输入格式如下:

NN

sxs_x sys_y txt_x tyt_y

x1x_1 y1y_1 r1r_1

x2x_2 y2y_2 r2r_2

vdots\\vdots

xNx_N yNy_N rNr_N

输出

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


示例输入1

4
0 -2 3 3
0 0 2
2 0 2
2 3 1
-3 3 3

示例输出1

Yes

这是从 (0,2)(0, -2)(3,3)(3, 3) 的一种方法。

  • (0,2)(0, -2),顺时针通过第 11 个圆的周围,到达 (1,sqrt3)(1, -\\sqrt{3})
  • (1,sqrt3)(1, -\\sqrt{3}),逆时针通过第 22 个圆的周围,到达 (2,2)(2, 2)
  • (2,2)(2, 2),顺时针通过第 33 个圆的周围,到达 (3,3)(3, 3)

因此,应该输出 Yes


示例输入2

3
0 1 0 3
0 0 1
0 0 2
0 0 3

示例输出2

No

无法只通过至少一个圆的周围点,从 (0,1)(0, 1) 到达 (0,3)(0, 3),因此应该输出 No