某运营商计划在一个用m∗n矩阵表示的区域内铺设光缆,起点为机房,终点为目标小区。光缆只能沿着矩阵的边铺设(不能走对角线),部分节点由于各种原因无法经过(如输入中的障碍节点)。机房和小区的坐标可以位于矩阵内的任何位置。任务是计算从机房到小区铺设光缆的最短距离,如果无法到达,则返回−1。
本题大意为:给你一个二维矩阵,里面有若干个点不能通过,求起点到终点的最短距离。
这题是一个非常朴素的BFS求最短路。咱们的题单里大量考察了这个知识点,刷过的同学基本就能通过啦~
某通信运营商需要在一个矩形区域内从机房向目标小区铺设光缆。该区域表示为一个由节点构成的网格,横向共有 m 个节点(列),纵向共有 n 个节点(行)。横轴坐标范围为 0 到 m-1,纵轴坐标范围为 0 到 n-1。光缆只能沿相邻节点之间的水平边或垂直边铺设,不能沿对角线铺设。每沿一条边移动到一个相邻节点,距离增加 1。
区域内有一些节点由于某些原因无法经过,这些节点称为不可经过节点(即障碍节点);其余节点允许光缆经过。机房和目标小区可以位于区域内的任意节点。给定机房坐标、目标小区坐标以及所有不可经过节点的坐标,请计算从机房到目标小区铺设光缆的最短距离。如果无法从机房到达目标小区,则输出 -1。
约束条件:
m 与行数 n 满足 1≤m,n≤1000。k 满足 0≤k≤100000。开通会员即可查看完整视频题解: 1.题目讲解 2.思路分析 3.逐行代码手写
Scan the QR code below with WeChat to sign in
First-time scan will create your account automatically
请使用微信扫描下方二维码完成注册