11828. Стрибки


Відправити розв'язок

Бали: 100
Time limit: 2.0s
Memory limit: 500M

Author:
Problem type
Allowed languages
C++, Java, Pascal, Python

У двовимірному плоскому місті, де живе Степан, є \(N\) батутів. \(І\)-й батут знаходиться в точці (\(x_i, y_i\)) і має потужність \(P_i\).

Здатність Степана до стрибків позначається \(S\). Спочатку \(S=0\). Щоразу, коли Степан тренується, \(S\) збільшується на 1. Степан може стрибнути з \(i\)-го на \(j\)-й батут тоді і тільки тоді, коли:

  • \(P_iS \geq |x_i - x_j| +|y_i - y_j|\).

Мета Степана полягає в тому, щоб навчитися вибирати стартовий батут таким чином, щоб він міг досягти будь-якого батута з вибраного за допомогою кількох стрибків.

Принаймні скільки разів йому потрібно тренуватися, щоб досягти своєї мети?

Обмеження

  • \(2 \leq N \leq 200\)
  • \(-10^9 \leq x_i,y_i \leq 10^9\)
  • \(1 \leq P_i \leq 10^9\)
  • \((x_i, y_i) \neq (x_j,y_j)\) \((I \neq j)\)
  • Усі значення у вхідних даних є цілими числами.

Формат вхідних даних

Перший рядок містить ціле число \(N\)

Наступні  \(N\) рядків містять цілі числа \(x_i, y_i, P_i\)

Числа у рядках розділяються пропуском.

Формат вихідних даних

У вихідний потік виведіть відповідь.

Примітка

До прикладу 1:

Якщо він тренується двічі, \(S=2\), і в цьому випадку він може дістатися до будь-якого батута з 2-го.

Наприклад, до 4-го батута він може дістатися наступним чином.

  • Стрибнути з 2-го на 3-й батут. (Оскільки \(P_2 S = 10\) і \(|x_2-x_3| + |y_2-y_3| = 10\), то \(P_2 S \geq |x_2-x_3| + |y_2-y_3|\))
  • Стрибнути з 3-го на 4-й батут. (Оскільки \(P_3 S = 2\) і \(|x_3-x_4| + |y_3-y_4| = 1\), має місце \(P_3 S \geq |x_3-x_4| + |y_3-y_4|\).)

Приклад вхідних даних

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

Приклад вихідних даних

2

Приклад вхідних даних

7
20 31 1
13 4 3
-10 -15 2
34 26 5
-2 39 4
0 -50 1
5 -20 2

Приклад вихідних даних

18

Коментарі

Ще немає коментарів.