我有一个n*n
矩阵,其中每个元素代表一个整数。从[0,0]
我必须找到精确m
到最后一行的元素的路径,返回最大成本。路径可以在最后一行的任何列结束,并且n ≤ m ≤ n^2
我想找到所有长度m
从[0,0]
到的路径[n-1, 0], [n-1, 1] ... [n-1, n-1]
。但是感觉不是很理想...
哪种算法是最有效的方法?BFS 还是 DFS?
编辑
可能的方向是向下/向右/向左,但每个元素最多只能访问一次。
编辑 2
例如,如果给定这个矩阵(n=4):
[ 1 4 1 20 ]
[ 5 0 2 8 ]
[ 6 8 3 8 ]
[ 3 2 9 5 ]
m=7,路径可以是
[ → → → ↓ ]
[ 5 0 2 ↓ ]
[ 6 8 3 ↓ ]
[ 3 2 9 x ] = Path cost = 47
或者
[ ↓ 4 1 20 ]
[ ↓ 0 2 8 ]
[ → → ↓ 8 ]
[ 3 2 → x ] = Path cost = 32
或者如果m = n^2
[ → → → ↓ ]
[ ↓ ← ← ← ]
[ → → → ↓ ]
[ x ← ← ← ]
编辑 3 / 解决方案
感谢 Wanderley Guimarães, http:
//ideone.com/0iLS2