Choques circulares
Autor: Vicente Opazo
Tiempo límite: 3 segundos
Memoria límite: 256 megabytes
En un laboratorio se está simulando el crecimiento de \(n\) círculos en el plano. Inicialmente, cada círculo está representado solo por un punto en las coordenadas \((x_{i}, y_{i})\) y tiene radio \(0\). En el tiempo \(t\), todos los círculos que siguen presentes crecieron hasta tener un radio \(t\).
En el instante exacto en que ocurre una colisión — es decir, cuando al menos dos círculos se tocan o se superponen — la simulación se detiene, y se eliminan inmediatamente todos los círculos que participan en alguna colisión en ese momento. Esto incluye cualquier grupo de colisiones simultáneas, ya sea que ocurran en pares separados, en grupos de tres o más, o de cualquier otra forma. Una vez eliminados, esos círculos ya no vuelven a aparecer.
Después de resolver las colisiones, la simulación continúa con los círculos restantes, que siguen creciendo desde el mismo instante como si nada hubiese pasado. Este proceso se repite hasta que no puedan producirse más colisiones. Si al final queda un solo círculo creciendo indefinidamente, no se cuenta como una nueva detención.
Dadas las coordenadas de los \(n\) puntos, determina cuántas veces se detendrá la simulación antes de que termine.
Entrada
La primera línea contiene un entero \(n\) (\(1 \le n\le 1000\)), el número de círculos.
Cada una de las siguientes \(n\) líneas contiene dos enteros \(x_{i}\) y \(y_{i}\) (\(1 \le x_{i}, y_{i}\le 10^{9}\)), que representan las coordenadas del centro del \(i\)-ésimo círculo.
No hay dos puntos con coordenadas idénticas.
Salida
Imprime un entero: el número de veces que la simulación se detendrá.
Ejemplos
Entrada 1
4
2 5
3 5
9 10
10 10
Salida 1
1
Entrada 2
3
1 1
7 1
4 1
Salida 2
1
Entrada 3
5
1 1
5 1
11 1
20 1
100 1
Salida 3
2
Comentarios