Вступ
У більшості шрифтів усі великі літери алфавіту, крім того, 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 .