题目描述
给定 xy-平面上的 N 个圆。对于每个 i=1,2,ldots,N,第 i 个圆的圆心为 (xi,yi),半径为 ri。
判断是否可以从 (sx,sy) 到达 (tx,ty),只通过至少一个圆的周围点。
约束条件
- 1leqNleq3000
- \-109leqxi,yileq109
- 1leqrileq109
- (sx,sy) 至少在 N 个圆的周围。
- (tx,ty) 至少在 N 个圆的周围。
- 输入中的所有值都是整数。
输入
输入格式如下:
N
sx sy tx ty
x1 y1 r1
x2 y2 r2
vdots
xN yN rN
输出
如果可以从 (sx,sy) 到达 (tx,ty),则输出 Yes
;否则,输出 No
。注意,评测是区分大小写的。
示例输入1
4
0 -2 3 3
0 0 2
2 0 2
2 3 1
-3 3 3
示例输出1
Yes

这是从 (0,−2) 到 (3,3) 的一种方法。
- 从 (0,−2),顺时针通过第 1 个圆的周围,到达 (1,−sqrt3)。
- 从 (1,−sqrt3),逆时针通过第 2 个圆的周围,到达 (2,2)。
- 从 (2,2),顺时针通过第 3 个圆的周围,到达 (3,3)。
因此,应该输出 Yes
。
示例输入2
3
0 1 0 3
0 0 1
0 0 2
0 0 3
示例输出2
No

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