atcoder#ABC304C. [ABC304C] Virus

[ABC304C] Virus

配点 : 300300

問題文

1,2,,N1, 2, \ldots, N の番号がついた NN 人の人が二次元平面上におり、人 ii は座標 (Xi,Yi)(X_i,Y_i) で表される地点にいます。

11 がウイルスに感染しました。ウイルスに感染した人から距離が DD 以内にいる人にウイルスはうつります。

ただし、距離はユークリッド距離、すなわち 22(a1,a2)(a_1, a_2)(b1,b2)(b_1, b_2) に対し、この 22 点間の距離が (a1b1)2+(a2b2)2\sqrt {(a_1-b_1)^2 + (a_2-b_2)^2} であるものとして定められています。

十分に時間が経過した、すなわち人 ii がウイルスに感染しているならば 人 ii との距離が DD 以内にいるすべての人がウイルスに感染している状態になったときに、各 ii について人 ii がウイルスに感染しているか判定してください。

制約

  • 1N,D20001 \leq N, D \leq 2000
  • 1000Xi,Yi1000-1000 \leq X_i, Y_i \leq 1000
  • iji \neq j のとき (Xi,Yi)(Xj,Yj)(X_i, Y_i) \neq (X_j, Y_j)
  • 入力はすべて整数

入力

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

NN DD

X1X_1 Y1Y_1

X2X_2 Y2Y_2

\vdots

XNX_N YNY_N

出力

NN 行出力せよ。ii 行目には、人 ii がウイルスに感染しているならば Yes を、そうでないならば No を出力せよ。

4 5
2 -1
3 1
8 8
0 5
Yes
Yes
No
Yes

11 と人 22 の距離は 5\sqrt 5 であるため、人 22 はウイルスに感染します。 また、人 22 と人 44 の距離は 55 であるため、人 44 はウイルスに感染します。 人 33 は距離 55 以内に人がいないので、ウイルスに感染することはありません。

3 1
0 0
-1000 -1000
1000 1000
Yes
No
No
9 4
3 2
6 -1
1 6
6 5
-2 -3
5 3
2 -3
2 1
2 6
Yes
No
No
Yes
Yes
Yes
Yes
Yes
No