AT_abc259_d [ABC259D] Circumferences
Description
[problemUrl]: https://atcoder.jp/contests/abc259/tasks/abc259_d
$ xy $ -平面上の $ N $ 個の円が与えられます。 $ i\ =\ 1,\ 2,\ \ldots,\ N $ について、$ i $ 番目の円は点 $ (x_i,\ y_i) $ を中心とする半径 $ r_i $ の円です。
$ N $ 個の円のうち少なくとも $ 1 $ つ以上の円の円周上にある点のみを通って、点 $ (s_x,\ s_y) $ から点 $ (t_x,\ t_y) $ に行くことができるかどうかを判定してください。
Input Format
入力は以下の形式で標準入力から与えられる。
> $ N $ $ s_x $ $ s_y $ $ t_x $ $ t_y $ $ x_1 $ $ y_1 $ $ r_1 $ $ x_2 $ $ y_2 $ $ r_2 $ $ \vdots $ $ x_N $ $ y_N $ $ r_N $
Output Format
点 $ (s_x,\ s_y) $ から点 $ (t_x,\ t_y) $ に行くことができる場合は `Yes` を、そうでない場合は `No` を出力せよ。 ジャッジは英小文字と英大文字を厳密に区別することに注意せよ。
Explanation/Hint
### 制約
- $ 1\ \leq\ N\ \leq\ 3000 $
- $ -10^9\ \leq\ x_i,\ y_i\ \leq\ 10^9 $
- $ 1\ \leq\ r_i\ \leq\ 10^9 $
- $ (s_x,\ s_y) $ は $ N $ 個の円のうち少なくとも $ 1 $ つ以上の円の円周上にある
- $ (t_x,\ t_y) $ は $ N $ 個の円のうち少なくとも $ 1 $ つ以上の円の円周上にある
- 入力はすべて整数
### Sample Explanation 1
!\[\](https://img.atcoder.jp/abc259/7b850385b9d67dc150435ffc7818bd94.png) 例えば、下記の経路で点 $ (0,\ -2) $ から点 $ (3,\ 3) $ へ行くことができます。 - 点 $ (0,\ -2) $ から $ 1 $ つ目の円の円周上を反時計回りに通って点 $ (1,\ -\sqrt{3}) $ へ行く。 - 点 $ (1,\ -\sqrt{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` を出力します。