010 - リス地バラバラクラフト(初級編)

時間制限 0.5 秒 / メモリ制限 64 MB / 得点 121 / x 3 /


TLE
0.5sec
MLE
64MB
得点
121

前書き

リス地バラバラクラフトとは マイクラ実況系Youtuber「WhiteTails」(ワイテルズ)の企画であり、マインクラフトの世界に散りばめられたメンバー6人が合流を目指してマインクラフトの世界を冒険する、という趣旨の企画である。
はたして6人は合流することができるのか、プログラムを用いて判断してもらいたい。
(ei2326はこれが初作問のため問題の不備は大目に見てもらいたい+わかりづらい部分は聞いていただければ問題文の修正をします。)

問題

今回のリス地バラバラクラフトでは、メンバーの6人が座標(0,0)を中心とした縦横4001x4001の世界を舞台に挑戦する。
1行目には6人の捜索範囲dが与えられる
任意の2人のスポーン地点のユークリッド距離がd以下である場合、その2人は合流できるといえる。
また、お互いの合流できる人を介しての合流も可能である。
例えば、$人_1$と$人_2$、$人_2$と$人_3$がそれぞれ合流できるとき、$人_1$と$人_3$も合流できる。
2行目から7行目には、メンバー6人のスポーン地点$X_i、Y_i (1 \leq i \leq 6)$が与えられる。
6人全員がそれぞれ他の5人と合流できる時にのみ、進捗「生活のビーコン」を達成することができる。

進捗「生活のビーコン」が達成可能であればYes、達成できないのならばNoを1行に出力せよ。
出力の最後には改行を入れること。

入力

入力は以下の形式で標準入力から与えられる。

$d$
$X_1$ $Y_1$
$X_2$ $Y_2$
...
$X_6$ $Y_6$

1行目に整数$d$が与えられる。
2行目から7行目に$Player_i$のスポーン地点の座標$X_i$,$Y_i (1 \leq i \leq 6)$が与えられる。

出力

出力の最後に改行を入れること。

制約

全ての入出力ケースについて以下を満たす。

  • $0 \leq d \leq 3000 $
  • $-2000 \leq X_i, Y_i \leq 2000 (1 \leq i \leq 6)$

small入出力ケースにおいて以下を満たす。

  • $0 \leq d \leq 5 $
  • $-5 \leq X_i, Y_i \leq 5 (1 \leq i \leq 6)$

入出力例

入力例1

10
0 0
0 1
1 0
1 1
2 1
2 2

出力例1

Yes

このテストケースでは、6人それぞれから他の5人への距離が10以下のため、「生活のビーコン」を達成可能である。

入力例2

5
0 0
0 5
5 0
5 5
10 10
15 15

出力例2

No

X座標,Y座標の差がそれぞれ5以下でも、ユークリッド距離は5を超えるケースに注意してください。

入力例3

5
0 0
0 5
0 10
0 15
0 20
0 25

出力例2

Yes

$人_1$と$人_6$のように距離が5以下でなくても、ほかの人を介して合流できるケースに注意してください。

前書き

UnionFindのテンプレートはこちら