这是使用ASCII字符的监狱图:
+------------------------------+
| |
| X X |
| |
| D
D |
| |
| |
| X X X |
| |
+------------------------------+
墙是由管道字符|
,破折号-
和+
用于拐角和相交的支柱组成的。还有两扇标有的门D
(将始终在左右墙壁上)。监狱里充满了带有标记的恐怖人物X
。
目标是建造满足以下条件的墙:
- 每个人都被单独监禁;
- 两扇门之间有一条走廊。
- 每个单元仅包含一个直接连接到主要走廊的门。
- 牢房和走廊占用了监狱中的所有空间。
- 每个单元格包含一个人(即,没有空单元格)。
走廊是一条路径,不会分支,并且始终是一个字符宽。这是上述监狱的解决方案:
+---------+--------------------+
| | |
| X | X |
| | +--------+
+------D--+-----D-----+ D
D +---D--+
+----D--------+---D-----+ |
| | | |
| X | X |X |
| | | |
+-------------+---------+------+
您可以假设任何输入监狱将始终具有有效的输出。以下是一些投入监狱,以及可能的产出:
+------------------------------+
|X X X X X X X X X X X X X X X |
| |
D D
| |
| X |
+------------------------------+
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+--+
|X|X|X|X|X|X|X|X|X|X|X|X|X|X|X |
+D+D+D+D+D+D+D+D+D+D+D+D+D+D+D-+
D D
+----------------------D-------+
| X |
+------------------------------+
+-----------+
|X |
| |
| |
|X X|
| |
| X|
| |
D D
+-----------+
+-+-------+-+
|X| D |
| D +---+ | |
+-+ | | |
|X| | +---+X|
| | | | +-+
| D | | X|
+-+ | +-D---+
D | D
+---+-------+
+----------------+
|X X X X|
| |
D |
| |
|X X X |
| |
| |
| |
| X X D
| |
| |
+----------------+
+---+---+----+---+
|X | X | X | X|
+--D+--D+---D+--D+
D |
+---+---+------+ |
|X | X | X | |
+--D+--D+---D--+ |
| |
| +-----+------+-+
| | X | X | D
| +----D+---D--+ |
| |
+----------------+
4
可能的解决方案:首先是下一个房间
—
马修·罗
Related,在构造墙壁时可能会有所帮助。
—
TheLethalCoder
是什么让我无法在每个囚犯周围直接围墙和一扇门(就像您的第二个示例一样),并将其余空间声明为走廊?
—
Fels
抱歉,发现它:“一个字符宽”。
—
Fels