atcoder#ABC257D. [ABC257D] Jumping Takahashi 2

[ABC257D] Jumping Takahashi 2

配点 : 400400

問題文

高橋君が住んでいる二次元平面上の街には NN 個のジャンプ台があります。ii 番目のジャンプ台は点 (xi,yi)(x_i, y_i) にあり、ジャンプ台のパワーは PiP_i です。また高橋君のジャンプ力は SS で表され、はじめ S=0S=0 です。高橋君が訓練を 11 回行う度に SS11 増えます。

高橋君は以下の条件を満たす場合に限り、ii 番目のジャンプ台から jj 番目のジャンプ台にジャンプすることができます。

  • PiSxixj+yiyjP_iS\geq |x_i - x_j| +|y_i - y_j|

高橋君の目的は、適切に始点とするジャンプ台を決めることで、そのジャンプ台からどのジャンプ台にも何回かのジャンプで移動できるようにすることです。

目的を達成するためには高橋君は最低で何回訓練を行う必要があるでしょうか?

制約

  • 2N2002 \leq N \leq 200
  • 109xi,yi109-10^9 \leq x_i,y_i \leq 10^9
  • 1Pi1091 \leq P_i \leq 10^9
  • (xi,yi)(xj,yj) (ij)(x_i, y_i) \neq (x_j,y_j)\ (i\neq j)
  • 入力は全て整数

入力

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

NN

x1x_1 y1y_1 P1P_1

\vdots

xNx_N yNy_N PNP_N

出力

答えを出力せよ。

4
-10 0 1
0 0 5
10 0 1
11 0 1
2

高橋君が 22 回訓練したとすると、 S=2S=2 です。 このとき、22 番目のジャンプ台から全てのジャンプ台に移動することができます。

例えば、44 番目のジャンプ台へは以下の方法で移動ができます。

  • 22 番目のジャンプ台から 33 番目のジャンプ台へジャンプする。( P2S=10,x2x3+y2y3=10P_2 S = 10, |x_2-x_3| + |y_2-y_3| = 10 であり、 P2Sx2x3+y2y3P_2 S \geq |x_2-x_3| + |y_2-y_3| を満たす。)
  • 33 番目のジャンプ台から 44 番目のジャンプ台へジャンプする。( P3S=2,x3x4+y3y4=1P_3 S = 2, |x_3-x_4| + |y_3-y_4| = 1 であり、 P3Sx3x4+y3y4P_3 S \geq |x_3-x_4| + |y_3-y_4| を満たす。)
7
20 31 1
13 4 3
-10 -15 2
34 26 5
-2 39 4
0 -50 1
5 -20 2
18