вступление
В большинстве шрифтов всех символов верхнего регистра алфавита , кроме BDO
одинарных линий приблизительно трогательных некоторые из четырех углов ограничивающего прямоугольника персонажа: ACEFGHIJKLMNPQRSTUVWXYZ
.
Например, две ноги A
«касаются» нижнего левого и нижнего правого углов персонажа. Аналогично, C
касается его верхнего и нижнего правых углов (он немного изогнут, но достаточно близко). L
касаются только его верхнего левого и нижнего правого углов одинарными линиями. Нижний левый угол L
- это вершина, а не конец одной линии.
Вот таблица того, какие символы касаются каких углов в соответствии со шрифтом Stack Exchange, который я (и, надеюсь, вы) видите. 1
для верхнего левого угла, 2
для верхнего правого, 3
нижнего левого, 4
нижнего правого.
A: 3 4
C: 2 4
E: 2 4
F: 2 3
G: 2
H: 1 2 3 4
I: 1 2 3 4
J: 1 3
K: 1 2 3 4
L: 1 4
M: 3 4
N: 2 3
P: 3
Q: 4
R: 3 4
S: 2 3
T: 1 2
U: 1 2
V: 1 2
W: 1 2
X: 1 2 3 4
Y: 1 2
Z: 1 4
Настроить
Представьте, что эти линии касания угла проходят в направлении касания угла, так что расположение этих символов на сетке может быть «связано».
Например, все символы в
A
C X
связаны, потому что нижний левый A
и верхний правый от C
подключения, а нижний правый A
и верхний левый от X
подключения.
Тем не мение,
CAX
не имеет соединений, потому что соединения происходят только по диагонали от одного символа к другому .
Вызов
Напишите самую короткую возможную программу (в байтах), которая выводит все символы ACEFGHIJKLMNPQRSTUVWXYZ
в одном большом полностью связанном дереве в соответствии с приведенными выше правилами. Каждый персонаж должен появиться ровно один раз. Используйте пробелы для пустого пространства.
пример
Все в этом 23-буквенном дереве может быть достигнуто из чего-либо еще через диагональные связи, определенные выше:
Q
A J R
C U S Y
I M N
E H X
F L T
G Z K P
V W
Примечания
- Вы можете жестко закодировать свое решение.
- Ваш вывод должен содержать только
ACEFGHIJKLMNPQRSTUVWXYZ
пробелы и переводы строк.BDO
не будет использоваться. - Начальные / конечные пробелы хороши, если все соединения расположены правильно.
- Выходная сетка не должна быть больше 30 на 30 символов (включая переводы строки и пробелы).
- Рассматриваются только угловые соединения. Дно
Y
ни к чему не подключается. Вы должны использовать угловые соединения из таблицы выше. - Не все соединяемые углы нужно подключать к чему-либо. Соединяемые и не соединяемые углы могут граничить друг с другом.
- Вывод на стандартный вывод. Там нет ввода.
- Включение графа связности, сделанного с косыми чертами, как это сделал Питер Тейлор , является полезным штрихом, но не обязательным.
Обновление:
githubhagocyte сделал проверку достоверности дерева алфавитов на Github .