Láseres y espejos.


Submit solution

Points: 100 (partial)
Time limit: 1.0s
Memory limit: 256M

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

Por alguna razón, las vacas del Granjero Juan están montando espectáculos de luces láser. Para su último espectáculo, las vacas han conseguido un laser grande y potente, tan grande que ellas no pueden moverlo fácilmene de la ubicación donde fue entregado. Ellas podrían de alguna manera enviar luz desde el láser al establo en el otro lado de la propiedad de GJ. Se puede considerar que ambos, el láser y el establo están ubicados en puntos en el plano 2D en un mapa del establo de GJ. Las vacas planean apuntar al laser disparando un haz de luz horizontalmente o verticalmente (esto es alineado con los ejes x o y). Ellas rebotaran este haz a través de un número de espejos para direccionarlo al establo.

En la granja hay N postes de cerca (1 \leq N \leq 100,000) ubicados en puntos 2D distintos (también distintos del láser y del establo) en los cuales las vacas pueden montar espejos. Las vacas pueden elegir no montar un espejo en un poste, en ese caso el láser simpelemente pasaría directamente por la parte superior del poste sin cambiar dirección. Si las vacas montan un espejo en el poste, ellas lo alinean diagonalmene como / o \(\\) de manera que rediccionará el haz horizontal a vertical o viceversa. Por favor calcule el número mínimo posible de espejos que las vacas necesitan usar con el propósito de redireccionar el haz de luz del laser al establo.

Entrada

La primera línea de la entrada contiene 5 enteros separados por espacio: N,xL,yL,xB,yB, donde (xL, yL) es la ubicación del láser y (xB, yB) la ubicación del establo. Todas las coordenadas están entre 0 y 1,000,000,000. Cada una de las siguientes N líneas contiene la ubicación x y y de un poste, ambos en el rango 0...1,000,000,000.

Salida

Por favor dé como salida el número mínimo de espejos necesarios para redireccionar al láser al establo, o -1 si es imposible hacerlo.

Ejemplo de Entrada

4 0 0 7 2
3 2
0 2
1 6
3 0

Ejemplo de Salida

1

Comments

There are no comments at the moment.