Вступ
У більшості шрифтів усі великі літери алфавіту, крім того, 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
не підключається ні до чого. Потрібно використовувати кутові з'єднання з таблиці вище. - Не всі підключені куточки потрібно підключити до чогось. Куточки, що підключаються і які не підключаються, можуть межувати між собою.
- Вихід у stdout. Введення немає.
- Включення графіка підключення, зробленого з косою рисою, як це зробив Пітер Тейлор , є корисним дотиком, але не потрібно.
Оновлення:
githubhagocyte зробив перевірку дійсності дерева алфавіту на Github .