Descripción de la pregunta
Supongamos que la calle tiene forma de tablero de ajedrez, la distancia entre cada cuadrado es igual y el tiempo necesario para que los vehículos pasen por cada cuadrado de la calle es timePerRoad;
Hay semáforos en las intersecciones (intersecciones) de las calles, y los períodos T (= luces [fila] [col]) de las luces son diferentes;
Los vehículos pueden seguir recto, girar a la izquierda y girar a la derecha. Para seguir recto y girar a la izquierda, deben esperar el semáforo correspondiente durante el tiempo T antes de poder pasar. Para girar a la derecha no es necesario esperar.
Ahora, dados los períodos de semáforo de n * m intersecciones de calles y las coordenadas de las intersecciones de calles iniciales y finales, calcule el tiempo más corto para que los vehículos pasen por las dos intersecciones de calles.
en:
- Los semáforos en los puntos de inicio y fin no se cuentan en el tiempo y las intersecciones se pueden pasar en cualquier dirección.
- No puede exceder n * m intersecciones de calles y no puede saltar, pero el borde también es una carretera (es decir: luces [0] [0] -> luces [0] [1] es una ruta válida)
Definición de la función de entrada:
/** * @param luces: El período de cada semáforo en n*m intersecciones de calles, el rango de valores es [0, 120] , el rango de n y m es [1,9] * @param timePreRoad: Dos adyacentes calles El tiempo de viaje de las calles entre las entradas, el rango es [0,600] * @param rowStart: el número de fila del punto de inicio * @param colStart: el número de columna del punto de inicio * @param rowEnd: el número de fila de el punto final * @par