本题为2024年9月11日华为机考原题
华为机考的介绍点击这里
每天早晨,环卫工人需要处理各个小区的生活垃圾,每个小区的生活垃圾由一队坏卫工人负责运送到最近的垃圾回收站进行处理,求将所有小区垃圾送到垃圾回收站的最小距离和。
假设小区和垃圾回收站都在都在一个m行x n列的区域矩阵上,相邻点的距离为1,只能上下左右移动;其中0表示垃圾处理站,1表示小区,2表示空白区域,−1表示障碍区域不可通行。
区域内如果没有小区或者没有垃圾回收站,则最小距离和返回0。
在一个由 m
行 n
列的区域矩阵中,环卫工人需要将小区的生活垃圾送到最近的垃圾回收站。矩阵中的元素取值为:
0
:垃圾处理站1
:小区2
:空白区域-1
:障碍区域相邻点的距离为 1,且只能上下左右移动。要求计算所有小区垃圾送到垃圾回收站的最小距离和。如果矩阵中没有小区或垃圾回收站,则返回 0
。无法到达垃圾回收站的小区将不计入距离和中。