想象一下上层2D世界。
您从0开始并想要转到6.您必须按顺序访问这些数字。您可能只能左右上下。
问题/算法: 考虑到你总是选择最佳路径,最糟糕的情况是什么(让你走得最远)?
一切红色都不能成为迷宫墙,你可以走在那里,你必须踩到数字。
任何有用的东西都会受到赞赏。它最初不一定是java特定的......谢谢:)
上面的图片显示了一些绿色墙壁。我怀疑每走一次细胞是最长的路径。很容易让macerunner走几次相同的细胞。
答案 0 :(得分:0)
您的描述有点令人困惑,因为您没有详细说明您的需求,但是, 我强烈建议你通过Astrolog.org检查所有提议的迷宫算法。
一般来说,如果你需要构建一个“硬”解决迷宫算法,你可以实现Prim's algorithm并添加几个圆圈(通过删除一定数量的墙)来使其更难解决。
在解决迷宫时,有several algorithms像Tremaux,Pledge等等。这取决于你是要实现完美还是非完美的迷宫。