<分区>
以这样的方式从给定的源到目的地遍历给定的二维矩阵,每个单元格都应该被访问一次(我们必须恰好覆盖矩阵的所有单元格一次并且必须到达目的地)。 我能得到的是-
1.这并不总是可能的。
2.它是哈密顿路径的一种变体,节点是单元格,边是相邻单元格之间。
是否有任何其他解决方案来获取路径的答案,如果存在,则返回 -1。
<分区>
以这样的方式从给定的源到目的地遍历给定的二维矩阵,每个单元格都应该被访问一次(我们必须恰好覆盖矩阵的所有单元格一次并且必须到达目的地)。 我能得到的是-
1.这并不总是可能的。
2.它是哈密顿路径的一种变体,节点是单元格,边是相邻单元格之间。
是否有任何其他解决方案来获取路径的答案,如果存在,则返回 -1。
最佳答案
我不清楚您的问题是涉及矩形网格图还是一般网格图。
无论哪种情况,答案都在 A. Itai, C.H. Papadimitriou, J.L. Szwarcfiter, Hamiltonian paths in grid graphs, SIAM J. Comput. 11 (1982) 676–686 .
这两者的区别在于,矩形网格图意味着你可以去矩阵中的任何地方,而对于一般的网格图,矩阵中的某些条目是禁止输入的。
对于矩形网格图,该论文给出了一个条件,说明对于给定的源和目的地,路径是否可行。
对于一般的网格图,论文证明问题是 NP 完全的。
关于algorithm - 在访问每个单元格一次后到达矩阵中的目的地,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24716690/