Aqui está um diagrama de uma prisão usando caracteres ASCII:
+------------------------------+
| |
| X X |
| |
| D
D |
| |
| |
| X X X |
| |
+------------------------------+
As paredes são feitas de caracteres de tubulação |
, traços -
e pilares +
para cantos e cruzamentos. Há também duas portas marcadas com D
(que sempre estarão nas paredes esquerda e direita). A prisão está cheia de pessoas assustadoras marcadas com X
.
O objetivo é construir paredes para satisfazer o seguinte:
- Cada pessoa está em confinamento solitário;
- Há um corredor correndo entre as duas portas;
- Cada célula contém exatamente uma porta, que está diretamente conectada ao corredor principal;
- Todo o espaço na prisão é usado pelas celas e pelo corredor;
- Cada célula contém uma pessoa (ou seja, não há células vazias).
O corredor é um caminho único, não se ramifica e sempre tem um caractere de largura. Aqui está uma solução para a prisão acima:
+---------+--------------------+
| | |
| X | X |
| | +--------+
+------D--+-----D-----+ D
D +---D--+
+----D--------+---D-----+ |
| | | |
| X | X |X |
| | | |
+-------------+---------+------+
Você pode assumir que qualquer prisão de entrada sempre terá uma saída válida. Aqui estão mais algumas prisões de entrada, juntamente com possíveis saídas:
+------------------------------+
|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--+ |
| |
+----------------+