Intro
Dalam kebanyakan font semua karakter alfabet huruf besar selain BDO
memiliki garis tunggal sekitar menyentuh beberapa empat sudut persegi panjang berlari karakter: ACEFGHIJKLMNPQRSTUVWXYZ
.
Misalnya, dua kaki A
"menyentuh" sudut kiri bawah dan kanan bawah karakter. Demikian juga, C
menyentuh sudut kanan atas dan bawahnya (agak melengkung tapi cukup dekat). L
hanya menyentuh sudut kiri atas dan kanan bawahnya dengan garis tunggal. Sudut kiri bawah L
adalah titik, bukan akhir dari satu baris.
Berikut adalah tabel karakter apa yang disentuh sudut mana sesuai dengan font Stack Exchange I (dan mudah-mudahan Anda) lihat. 1
untuk kiri atas, 2
untuk kanan atas, 3
kiri 4
bawah , kanan bawah.
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
Mempersiapkan
Berpura-pura seperti ini garis sentuhan sudut memanjang ke arah sudut yang mereka sentuh sehingga pengaturan karakter ini pada kotak dapat "terhubung".
Misalnya, semua karakter dalam
A
C X
terhubung karena kiri bawah A
dan kanan atas C
terhubung, dan kanan bawah A
dan kiri atas X
terhubung.
Namun,
CAX
tidak memiliki koneksi karena koneksi hanya terjadi secara diagonal dari satu karakter ke yang berikutnya .
Tantangan
Tuliskan program sesingkat mungkin (dalam byte) yang menampilkan semua karakter ACEFGHIJKLMNPQRSTUVWXYZ
dalam satu pohon besar yang sepenuhnya terhubung, sesuai dengan aturan di atas. Setiap karakter harus muncul tepat sekali. Gunakan spasi untuk ruang kosong.
Contoh
Segala sesuatu di pohon 23 huruf ini dapat dicapai dari apa pun melalui koneksi diagonal yang ditentukan di atas:
Q
A J R
C U S Y
I M N
E H X
F L T
G Z K P
V W
Catatan
- Anda dapat membuat hardcode solusi Anda.
- Output Anda hanya boleh berisi
ACEFGHIJKLMNPQRSTUVWXYZ
, spasi, dan baris baru.BDO
tidak akan digunakan. - Leading / trailing space baik-baik saja selama semua koneksi diposisikan dengan benar.
- Kisi keluaran tidak boleh lebih besar dari 30 kali 30 karakter (termasuk baris baru dan spasi).
- Hanya koneksi sudut yang dipertimbangkan. Bagian bawah
Y
tidak terhubung ke apa pun. Anda harus menggunakan koneksi sudut dari tabel di atas. - Tidak semua sudut yang terhubung harus terhubung ke sesuatu. Sudut yang terhubung dan tidak terhubung dapat saling membatasi.
- Output ke stdout. Tidak ada input.
- Termasuk grafik konektivitas yang dibuat dengan garis miring seperti yang dilakukan Peter Taylor adalah sentuhan yang membantu tetapi tidak diperlukan.
Pembaruan:
githubhagocyte telah membuat pemeriksa validitas pohon alfabet di Github .