Pesadilla de Navegación
El vecindario pastoral del Granjero John (GJ) tiene granjas
, generalmente numerado/etiquetado
. Una serie de
caminos horizontales y verticales de diferentes longitudes
conecta las granjas. Un mapa de estas granjas podría parecerse a la ilustración a continuación en la cual las granjas están etiquetadas
.

Cada granja puede conectarse directamente a otras cuatro granjas a través de caminos que conducen exactamente al norte, sur, este y/u oeste. Además, las granjas solo son ubicadas en los puntos finales de las carreteras, y se puede encontrar alguna granja en cada punto final de cada camino. No hay dos caminos cruzados, y precisamente un camino (secuencia de caminos) une cada par de granjas.
GJ perdió su copia en papel del mapa de la granja y quiere reconstruirlo de la información de respaldo en su computadora. Esta información contiene líneas como el siguiente, uno para cada camino:
- Hay un camino de longitud
que corre hacia el norte desde la granja #
hasta la granja #
- Hay un camino de longitud
que corre hacia el este desde la granja #
hasta la granja #
Cuando GJ está recuperando estos datos, ocasionalmente lo interrumpe preguntas como las siguientes que recibe de su vecino, el granjero Bob:
- ¿Cuál es la distancia de Manhattan entre las granjas #
y #
?
GJ responde a Bob cuando puede (a veces todavía no tiene suficiente datos aún). En el ejemplo anterior, la respuesta sería , ya que Bob quiere saber la distancia "Manhattan" entre el par de granjas. La distancia de Manhattan entre dos puntos
y
es solo
(que es la distancia que un taxi debe viajar por las calles de la ciudad en una cuadrícula perfecta para conectar dos puntos
,
).
Cuando Bob pregunta por un par de granjas en particular, y GJ aún no puede tener suficiente información para deducir la distancia entre ellos; en este caso, GJ se disculpa profusamente y responde con "".
Entrada
- Línea 1: Dos enteros separados por espacios:
y
.
- Líneas 2...M+1: Cada línea contiene cuatro entidades separadas por espacios,
y
que describen una carretera.
y
son números de dos granjas conectadas por una carretera,
es su longitud y
es un carácter que es 'N', 'E', 'S' o 'W' dando la dirección de la carretera de
a
.
- Línea M + 2: Un entero,
, el número de consultas que hace el Granjero Bob.
- Líneas M+3…M+K+2: Cada línea corresponde a una consulta del granjero Bob y contiene tres enteros separados por espacios:
,
e
.
y
son números de las dos granjas en la consulta y
es el índice
en los datos después de lo cual Bob pregunta por la consulta. El índice de datos
está en la línea
de los datos de entrada, y así sucesivamente.
Ejemplo de Entrada
7 6
1 6 13 E
6 3 9 E
3 5 7 S
4 1 3 N
2 4 20 W
4 7 2 S
3
1 6 1
1 4 3
2 6 6
Detalles de la Entrada
Este es el diseño de la granja dibujado arriba.
Salida
- Líneas 1…K: Un entero por línea, la respuesta a cada una de las consultas de Bob. Cada línea debe contener la medición de la distancia o
, si es imposible determinar la distancia adecuada.
Ejemplo de Salida
13
-1
10
Detalles de la Salida
En el tiempo , GJ sabe que la distancia entre
y
es
.
En el tiempo , la distancia entre
y
aún se desconoce.
Al final, la ubicación es
unidades al oeste y
al norte de
, por lo que la distancia es
.
Comments