小编Kar*_*IDI的帖子

特殊完美迷宫生成算法

我正在尝试创建一个特殊的完美迷宫生成器。

而不是有房间和墙壁的标准案例,我正在处理一个充满块的单元格网格,在那里我可以从一些单元格中删除块:

  • 连接两个给定的单元格(例如,将左上角的单元格连接到左下角的单元格)
  • 为了有一个最大的块删除
  • 每个移除的块单元必须使用一种方式相互连接

我使用 DFS 算法来挖掘路径迷宫,但我找不到确保两个给定单元格连接的方法。

正常情况从这里开始

+-+-+
| | |
+-+-+
| | |
+-+-+
Run Code Online (Sandbox Code Playgroud)

到这里

+-+-+
| | |
+ + +
|   |
+-+-+
Run Code Online (Sandbox Code Playgroud)

就我而言,我试图将左上角的单元格连接到右下角的单元格:

##
##
Run Code Online (Sandbox Code Playgroud)

到这里

.#
..
Run Code Online (Sandbox Code Playgroud)

或在这里

..
#.
Run Code Online (Sandbox Code Playgroud)

但不是在这里(因为右下角的单元格被挡住了)

..
.#
Run Code Online (Sandbox Code Playgroud)

而不是在这里(两个单元格没有连接)

.#
#.
Run Code Online (Sandbox Code Playgroud)

而不是在这里(迷宫并不完美,细胞由不止一条路径连接)

..
..
Run Code Online (Sandbox Code Playgroud)

这里还有两个 8x8 示例:

好一个(完美的迷宫,从左上角的单元格到右下角的单元格有一条路径):

..#.....
.#.#.##.
.......#
.#.#.##.
.##...#.
..#.#...
.##.#.#.
...###..
Run Code Online (Sandbox Code Playgroud)

坏的(完美的迷宫,但没有从左上角单元格到右下角单元格的路径):

...#....
.##..#.#
....##..
#.#...##
#..##...
..#..#.#
#...#...
##.###.#
Run Code Online (Sandbox Code Playgroud)

一些不错的 1000x1000 解决生成的迷宫

algorithm maze generator depth-first-search

4
推荐指数
1
解决办法
864
查看次数

在 Fedora Docker Image 中找不到任何手册页

通过 dnf 安装手册页后,我仍然在 /usr/share/man 中找不到它们。

docker run --rm -it fedora bash -c "dnf install -y man-pages && ls -lR /usr/share/man"
Run Code Online (Sandbox Code Playgroud)

我错过了什么?

fedora manpage docker

4
推荐指数
1
解决办法
891
查看次数