我知道我必须应用Dijkstra算法才能得到答案。整个算法在其中一个answers中得到了深入解释。 但是为什么我们需要将Dijkstra算法应用于这个问题。根据我的知识,Dijkstra将找到最短的距离路径。
但是问题设定者明确要求最低成本路径。考虑到这一点,我们应该将Prim算法应用于问题并找到整个棋盘的MST。
Here 是问题的链接。
答案 0 :(得分:0)
Dijkstra的算法确实用于寻找最短的距离路径。但请注意,“距离”并不意味着以正常方式测量的距离(即用尺子)。
事实上,Dijkstra的算法也可用于在任何网络中找到最短的成本路径(假设所有成本都大于或等于零)。您需要做的就是将任意两个节点之间的距离定义为等于相应边的成本。
因此,在这个问题中,当他们搜索最短路径时,他们会根据问题中定义的成本函数来定义距离。