4
连接所有岛屿的最低费用是多少?
有一个大小为N x M的网格。一些单元格是用“ 0”表示的岛,其他单元格是水。每个水电池上都有一个数字,表示在该水电池上建造一座桥的成本。您必须找到可以连接所有孤岛的最低成本。如果一个单元共享一条边或一个顶点,则该单元将连接到另一个单元。 可以使用什么算法解决此问题?如果N,M的值非常小(例如NxM <= 100),可以用作暴力破解方法? 示例:在给定的图像中,绿色单元格表示岛,蓝色单元格表示水,浅蓝色单元格表示应在其上架桥的单元格。因此,对于以下图像,答案将是17。 最初,我想到将所有岛屿标记为节点,并通过最短的桥梁连接每对岛屿。然后可以将问题简化为最小生成树,但是在这种方法中,我错过了边缘重叠的情况。例如,在下图中,任何两个岛之间的最短距离为7(以黄色标记),因此,通过使用最小生成树,答案将为14,但答案应为11(以浅蓝色标记)。