将1和0的网格转换为邻接矩阵

问题描述

我有一个1和0的NxN网格。 1代表土地,0代表熔岩。我的任务是查找所有土地之间的最短距离(如果一个单元格是土地,则其他紧邻土地之间的距离为1)。我想到的算法是Floyd-Warshall,但是我不确定如何将网格建模为图形。在最好的情况下,网格中的所有像元都是1,所以我有N ^ 2个顶点,所以我应该最终制作一个具有N ^ 2行和N ^ 2列的新矩阵吗?我似乎无法弄清楚从输入网格中的坐标(x,y)到顶点的映射。例如,在网格中

1 1 1 1

我将有4个顶点,因为有4个像元,所以我创建了一个初始距离为无穷大的新矩阵

inf inf inf inf inf inf inf inf inf inf inf inf inf inf inf inf

但这没有语义!在我的输入网格(0,0)中,它是一个有效的顶点,只要它也是一块土地,我就可以得到到邻居的距离,但是如何在邻接矩阵中表示它呢?我看不到到第0行的1:1映射。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)