上一篇搜索的博客讲了 BFS 一个经典的应用模型,这篇讲述另一个经典模型的一点小扩展。另一个 BFS 的经典应用模型是求一张具有相同边权的图上的单源点最短路,如果是多源点的最短路,实际上也是可以用 BFS 来解决的,
先看题目:
给定一个 N N N 行 M M M 列的01矩阵 A A A, A [ i ] [ j ] A[i][j] A[i][j] 与 A [ k ] [ l ] A[k][l] A[k][l] 之间的曼哈顿距离定义为:
d i s t ( A [ i ] [ j ] , A [ k ] [ l ] ) = ∣ i − k ∣ + ∣ j − l ∣ dist(A[i][j],A[k][l])=|i−k|+|j−l| dist(A[i][j],A[k][l])=∣i−k∣