【发布时间】:2019-04-02 17:35:22
【问题描述】:
这是我在论坛上的第一个问题,如有错误请见谅。我一直在手机上玩一个名为“填充”的游戏,它启发了我创建一个小型 Java 程序,该程序可以解决游戏中我自己无法解决的任何给定问题。游戏的目标如下:给定起点和预设的障碍物或墙壁,在使用所有可用方块的同时找到通往迷宫终点的路。
注意:只允许垂直和水平移动,并且任何方块在穿越迷宫时只能使用一次。
我最初认为这可以使用 A* 寻路算法来完成,但很快意识到这主要用于找到到给定端点的最小成本路径,忽略任何不需要触及的节点(正方形)。我想知道是否有任何可以帮助解决此问题的算法或预先存在的流行算法的变体。该程序将用java编写。感谢任何反馈!
注意 --- 我遇到了称为哈密顿循环/电路的东西。这似乎接近我正在寻找的答案,但是我想在不依赖图表提供返回起始节点的路线的情况下实现这一点。
干杯
【问题讨论】:
-
this 是正确的游戏吗?那我想你在找Hamiltonian path
-
FWIW 这被称为Hamiltonian path problem。
-
感谢您的帮助!我最初认为这不起作用,因为我正在查看哈密顿循环,它只是一条哈密顿路径,它有一条通往起始节点的路线。我很感激你的洞察力!
-
@MarcAcevedo 你想要Hamiltonian Path,而不是循环。
-
感谢大家的帮助!那是我的错误所在!非常感激。干杯
标签: java path-finding