【发布时间】:2012-11-08 23:07:29
【问题描述】:
我目前正在做一个项目,在该项目中我必须使用包含随机数的二维数组执行任务。该数组形成一个网格,表示一座山的山峰(高度)。我解决了除最后一项之外的所有任务:
最后的任务是查找是否存在从最小峰值到最高峰值的路径(不一定是最短的)。这条路应该是不断增长的山峰,我不能踩到更低的山峰。
为了简单起见,这里有一个例子,表示在 3x3 网格上(原始的要大得多,不一定是方形的,它是根据用户的需要生成的,数字是完全随机的)。
2 4 5
1 3 8
9 7 10
可能的方法是 1-3-7-10、1-3-8-10、1-2-4-5-8-10。
我很确定,我应该使用某种递归。 我读到了一个*探路者,但要使用它,我必须有一个带有“障碍”的“地图”(我无法跨过的节点=较小的峰),这正是我无法制作的,因为您只能在旅途中找到它。
我的意思是我可以将数字 7 放在“例外列表”中 - 因为步骤 1-9-7 是被禁止的,但步骤 1-3-7-10 是完美的,所以将 7 放在例外列表中是一个错误。
【问题讨论】:
-
你错过了
1-3-4-5-8-10:)
标签: c# arrays queue 2d path-finding