Graph 网格中可以收集的最大硬币数

Graph 网格中可以收集的最大硬币数,graph,dynamic-programming,graph-theory,graph-algorithm,Graph,Dynamic Programming,Graph Theory,Graph Algorithm,有一个网格G。 Gi,j=-1表示路径阻塞。 否则Gi,j=i,j处的硬币数量 始终从起点0,0转到终点n,n,然后返回起点0,0。一旦在任何地点收集到硬币,就不能再收集了。但是,您仍然可以拥有通过该位置的路径 如果你可以在上、下、左、右方向旅行,可以收集的最大硬币数量是多少 我知道当你只需要使用递归从0,0到n,n,但无法跟踪我从开始到结束旅行时已经收集的硬币时,如何获得最大数量的硬币 请建议一个好的方法或参考一些来源。任务规范不要求路径最短,也不要求避免重复访问现场。因此,如果点n,n可以从

有一个网格G。 Gi,j=-1表示路径阻塞。 否则Gi,j=i,j处的硬币数量

始终从起点0,0转到终点n,n,然后返回起点0,0。一旦在任何地点收集到硬币,就不能再收集了。但是,您仍然可以拥有通过该位置的路径

如果你可以在上、下、左、右方向旅行,可以收集的最大硬币数量是多少

我知道当你只需要使用递归从0,0到n,n,但无法跟踪我从开始到结束旅行时已经收集的硬币时,如何获得最大数量的硬币


请建议一个好的方法或参考一些来源。

任务规范不要求路径最短,也不要求避免重复访问现场。因此,如果点n,n可以从点0,0到达,那么结果就是所有可以从它们到达的点的有效总和,这些点可以使用洪水填充算法来计算;否则为零


坦率地说,我想您在任务规范中遗漏了一些重要的约束。在修复之前,很难猜测哪种算法是最好的解决方案,例如寻找最短路径时的Dijkstra算法,限制向右和向下移动时的动态规划算法等等。

因为您的问题对可以执行多少步没有任何限制。您只需要将所有网格的值相加,因为您可能通过遍历所有网格来拾取所有硬币