Choques circulares

Tiempo límite 3 s
Memoria límite 256 MB
Casos de prueba 73
Dificultad Medio Algoritmos
Mostrar (3) GeometríaOrdenamientoSimulación
Enviar solución

Puntos: 10

Tipos de problema
Lenguajes permitidos
C, C++, Java, Python, Rust

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

No hay comentarios por el momento.