質問の説明
道路が市松模様で、各正方形間の距離が等しく、車両が道路の各正方形を通過するのに必要な時間が timePerRoad であると仮定します。
道路の交差点(交差点)には信号機があり、信号の周期T(=lights[row][col])が異なります。
車両は直進、左折、右折が可能ですが、直進と左折は対応する信号機をT時間待つ必要がありますが、右折は待つ必要がありません。
ここで、n * m の道路交差点の信号機の周期と、開始および終了の道路交差点の座標が与えられた場合、車両が 2 つの道路交差点を通過する最短時間を計算します。
で:
- 始点と終点の信号機は時間計測されず、交差点はどの方向でも通過可能
- n * m の道路交差点を超えることはできず、ジャンプすることもできませんが、エッジも道路です (つまり、lights[0][0] ->lights[0][1] は有効なパスです)
エントリ関数の定義:
/** * @param Lights: n*m の道路交差点の各信号機の周期、値の範囲は[0, 120]、n と m の範囲は[1,9] * @param timePreRoad: 2 つの隣接する道路交差点の間市道移動時間、範囲[0,600] * @param rowStart: 開始点の行番号 * @param colStart: 開始点の列番号 * @param rowEnd: エンドポイントの行番号 * @par