我正在尝试创建一个特殊的完美迷宫生成器。
而不是有房间和墙壁的标准案例,我正在处理一个充满块的单元格网格,在那里我可以从一些单元格中删除块:
我使用 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)

通过 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)
我错过了什么?