【发布时间】:2016-06-02 03:44:48
【问题描述】:
我有一张这样的 5x5 地图:
**C** - is where I am(random)
**.** - is a passable tile
**X** - is not a passable tile
**D** - is destination.
我的问题是当我无法水平或垂直传递瓷砖时如何执行算法。例如,我需要向上走两块瓷砖,但我不能垂直通过瓷砖,所以我有两个选择:向左走或向右走然后向上走。
但是,其中一个可能会失败,我将不得不退后几步尝试另一条路线。我不知道如何从逻辑上做到这一点。
谢谢。
【问题讨论】:
-
Stack Overflow 是一个由 470 万程序员组成的社区,就像你一样,互相帮助。
-
如果你已经有一个算法可以找到任意路径,调整它并传递你来自的方向。然后在探测方向时跳过该方向。例如,如果您刚刚北上,就不能再北上。
标签: c# algorithm recursion logic shortest-path