> 技术文档 > 华为OD机考2025C卷 - 网格红绿灯最短路径 (C++ & Python & JAVA & JS & GO)_华为od机考网格红绿灯最短路径 pyhton

华为OD机考2025C卷 - 网格红绿灯最短路径 (C++ & Python & JAVA & JS & GO)_华为od机考网格红绿灯最短路径 pyhton


华为OD机考2025C卷 - 网格红绿灯最短路径

华为OD机考2025C卷真题目录点击查看: 华为OD机试2025C卷真题题库目录|机考题库 + 算法考点详解

华为OD机试 2025C卷 200分题型

题目描述

给定一个二维的m*n网格地图(grids二维数组),每个单元格0为空,1是障碍物,2是红绿灯;每一步可以在0或者2的单元格移动,每一秒可以走一个单元格;遇到红绿灯想要通过需要等待不同的时间才能通过,大小为x的light数组标注灯的坐标和等待时间,例如(2,2,3),坐标(2,2)红绿灯等待时间3秒,问从左上角(0,0)到右下角(m-1,n-1)所需的最短时间。

输入描述

grids二维数组,内部数据只有0,1,2,1<m,n<=100

lights红绿灯数组,1<x<=m*n

输出描述

从坐标(0,0)到(m-1,n-1)坐标所需的最短时间,如果没有路径,则返回最短时间为-1.

示例1

输入

[[0,1,0],[0,2,1],[0,0,0]][[1,1,3]]