题目描述
xy -平面上の N 個の円が与えられます。 i = 1, 2, …, N について、i 番目の円は点 (xi, yi) を中心とする半径 ri の円です。
N 個の円のうち少なくとも 1 つ以上の円の円周上にある点のみを通って、点 (sx, sy) から点 (tx, ty) に行くことができるかどうかを判定してください。
输入格式
入力は以下の形式で標準入力から与えられる。
N sx sy tx ty x1 y1 r1 x2 y2 r2 ⋮ xN yN rN
输出格式
点 (sx, sy) から点 (tx, ty) に行くことができる場合は Yes
を、そうでない場合は No
を出力せよ。 ジャッジは英小文字と英大文字を厳密に区別することに注意せよ。
题目大意
已给出 n 个在平面直角坐标系上的圆。对于每个 i∈{1,2,3,...,n},有第 i 个圆的圆心是 (xi,yi),半径是 ri。你需要回答你是否能从 (sx,sy) 在圆上连续地走到 (tx,ty)。
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 ≤ 3000
- −109 ≤ xi, yi ≤ 109
- 1 ≤ ri ≤ 109
- (sx, sy) は N 個の円のうち少なくとも 1 つ以上の円の円周上にある
- (tx, ty) は N 個の円のうち少なくとも 1 つ以上の円の円周上にある
- 入力はすべて整数
Sample Explanation 1
![](https://img.atcoder.jp/abc259/7b850385b9d67dc150435ffc7818bd94.png) 例えば、下記の経路で点 (0, −2) から点 (3, 3) へ行くことができます。 - 点 (0, −2) から 1 つ目の円の円周上を反時計回りに通って点 (1, −3) へ行く。 - 点 (1, −3) から 2 つ目の円の円周上を時計回りに通って点 (2, 2) へ行く。 - 点 (2, 2) から 3 つ目の円の円周上を反時計回りに通って点 (3, 3) へ行く。 よって、Yes
を出力します。
Sample Explanation 2
![](https://img.atcoder.jp/abc259/924efa40ff28e5d7125841da2710d012.png) 少なくとも 1 つ以上の円の円周上にある点のみを通って点 (0, 1) から点 (0, 3) に行くことはできないので No
を出力します。