c – 让老鼠走出迷宫

c – 让老鼠走出迷宫,第1张

概述将大鼠置于迷宫中某个未知位置的迷宫中. 我们所能做的就是向上,向下,向右或向左的方向.我们有两种方法: > tryMove(< direction>)如果有墙则返回false,如果我们可以移动则返回true. > bool hasLadder():如果有一个要转义的梯子,则返回true. 我们必须编写一个函数探索,如果我们找到出路则返回true,如果没有办法则返回false. 这是一个简单的图形问 将大鼠置于迷宫中某个未知位置的迷宫中.

我们所能做的就是向上,向下,向右或向左的方向.我们有两种方法:

> tryMove(< direction>)如果有墙则返回false,如果我们可以移动则返回true.
> bool hasLadder():如果有一个要转义的梯子,则返回true.

我们必须编写一个函数探索,如果我们找到出路则返回true,如果没有办法则返回false.

这是一个简单的图形问题,可以使用bfs或dfs算法解决,如果我们可以找到这些地方的标记.如果我们不能标记这些地方,我们可以循环访问相同的地方.如果没有标记,有人可以帮助我让老鼠走出迷宫吗?可能吗?

解决方法 广度优先和深度优先搜索都需要内存,而朴素算法可以无限循环.老鼠可能只有O(1)记忆.

解决它而不记住你去过的地方的一种方法是随机选择一个方向.解决时间将非常长,但最终应达到每个可达到的方格.这与2D random步行有关.

Amazingly,it has been proven that on a two-dimensional lattice,a random walk has unity probability of reaching any point (including the starting point) as the number of steps approaches infinity.

总结

以上是内存溢出为你收集整理的c – 让老鼠走出迷宫全部内容,希望文章能够帮你解决c – 让老鼠走出迷宫所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/langs/1247200.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-07
下一篇 2022-06-07

发表评论

登录后才能评论

评论列表(0条)

保存